今天在用AOP做管理员日志发现部分功能只要触发了AOPspring就不会自动装配bean
遇到问题主要如下:
Struts2的Action继承ActionSupport时,利用AOP来拦截Action出现NoSuchMethodException
网上说是Action继承了ActionSupport导致的,
后来在一个英文网站上找到了解决的方法,
只要在Spring的配置文件applicationContext中的<aop:aspectj-autoproxy/>改为<aop:aspectj-autoproxy proxy-target-class="true"/>就可以了。
第一步:
在struts2的配置文件里加上以下一句:
//让struts2始终先考虑spring的自动装箱
<constant name="struts.objectFactory.spring.autoWire.alwaysRespect" value="true" />
第二步:
在配置AOP时,加上
<aop:aspectj-autoproxy proxy-target-class="true"/>//关键是这句话,配置上就行了,