日志类
public class log implements MethodBeforeAdvice {
@Override
public void before(Method method, Object[] objects, Object target) throws Throwable {
System.out.println(target.getClass().getName()+“的”+method.getName()+“被执行了”);
}
}
public class Afterlog implements AfterReturningAdvice {
public void afterReturning(Object returnValue, Method method, Object[] objects, Object o1) throws Throwable {
System.out.println("执行力"+method.getName()+"返回结果为"+returnValue);
}
}
接口
public class UserServiceImpl implements UserService {
@Override
public void add() {
System.out.println("增加一个用户");
}
@Override
public void delete() {
System.out.println("减少一个用户");
}
@Override
public void update() {
System.out.println("更新一个用户");
}
@Override
public void select() {
System.out.println("查询一个用户");
}
}
配置
aop:config
<aop:pointcut id=“pointcut” expression=“execution(* service.UserServiceImpl.*(…))”/>
<aop:advisor advice-ref=“log” pointcut-ref=“pointcut”/>
<aop:advisor advice-ref=“afterlog” pointcut-ref=“pointcut”/>
</aop:config>
测试
public class MyTest {
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService user = (UserService)context.getBean("userService");
user.add();
}
}