发现添加了aop支持后,在junit下测试切面可以切进去,但是放到tomcat下执行就切不进去
原因为项目用spring+springmvc,有两个上下文,一个是spring的一个是mvc的
所以aop开启在spring的配置文件里的话,mvc会不生效
方法一:
将开启aop配置从applicationContext.xml移到spring-mvc.xml
<!-- 强制CGLIB代理 -->
<aop:aspectj-autoproxy proxy-target-class="true"/>
方法二:
将controller调用的方法,放在一个service里面,注解加在service层,service层由spring管理
这里使用第一种方法修改:
最新代码上传至https://github.com/csj50/webapp2.git
参考资料:
https://blog.csdn.net/qq_38366063/article/details/90294737
https://blog.csdn.net/iteye_11216/article/details/82677475
https://blog.csdn.net/u012272186/article/details/79657919