标签:复制 junit service 私有方法 unit 切面 nbsp 顺序 测试
复制依赖和改jar包方式
src下的都复制过来。
复制到新项目里了
bean.xml里面复制上面一行代码到下面。把aop改成context。
Service的配置这里就可以删除了
使用@Service注解
在Logger上加注解。之类注意,@Service和@Repository都不合适。因为logger属于三层
所以这里用@Component这个注解来配置
写完上面的@Component的注解后。bean.cml内的配置就可以删除了
注意Before这里是aspectj这个包里的,不要和JUnit的混了。
环绕通知
写完这些通知的注解就报错。因为没有切入点表达式
这是我们之前的bean.xml内配置的切入点表达式
新定义的私有方法pt1在pt1的上面定义的切入点表达式和注解
beam.xml内这些就都可以删除了
这里测试前面四个通知的时候,先把环绕通知注释掉
后置居然在最终的前面了
我们都知道 后置通知和异常是互斥的。这里把异常放开
后置通知消失了 变成了异常通知
Spring基于注解的,这四个通知确实有调用的顺序问题,所以我们在开发中,要有一个慎重的考虑
环绕通知放开,其他通知都注释掉
通知都注释掉
环绕通知没有这个问题。这个也好理解,因为代码是我们自己写的 想让他什么时候执行,就什么时候执行
把异常放开的执行效果
如果用注解的话,更建议用环绕通知,因为注解在调用的通知顺序上有问题
注解的配置确实比较简单。因为bean.xml配置就剩下这两行了
切入点的配置也很规范
只写了方法名 ,没写后面的括号
这里其实已经提示报错了
运行就会报错。
讲义的最后
阶段3 2.Spring_08.面向切面编程 AOP_9 spring基于注解的AOP配置
标签:复制 junit service 私有方法 unit 切面 nbsp 顺序 测试
原文地址:https://www.cnblogs.com/wangjunwei/p/11359708.html