@Aspects(AOP)对Spring MVC中Controller不起作用的原因及解决方案
原因
Spring MVC加载的是WebApplicationContext
而不是ApplicationContext
,也就是说spring和springMvc使用的是不同的容器,如果只在spring的配置文件中配置了<aop:aspectj-autoproxy/>
,那么AOP是不能正常在controller中起到作用的,因此需要把该配置同样配置到springMvc的配置文件中。
解决方案
1.在web.xml
中找到当前使用的spring MVC的配置文件位置
2.找到springMvc的配置文件,添加配置Aspectj的自动代理(许多造成该错误的原因都是因为只在spring的配置文件中配置了aspectj的支持)
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!