首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Spring AOP操作action时无法注入,报NullPointer错误

2013-03-12 
Spring AOP操作action时无法注入,报NullPointer异常当使用Spring AOP对action层进行操作时,会出现注入失败

Spring AOP操作action时无法注入,报NullPointer异常
当使用Spring AOP对action层进行操作时,会出现注入失败的问题,出现空指针异常。
原因是一般struts2+spring应用中,spring的插件只负责为action的ioc部分,但并没有进行功能加强,即采用代理的机制,所有的action还是使用struts2进行管理,
在使用AOP后,这些action需要由spring进行管理,如果没有由spring进行代理,将出现注入失败。
解决办法:Struts2的一个特殊的constant,作用是确保Spring的自动装配策略总是被考虑的,struts.objectFactory.spring.autoWire.alwaysRespect,将其值设为true,


然后在所有的action上添加注解
@Component("action")//action根据具体情况修改@Scope("prototype")
在struts的配置中使用action的名字进行配置,@Scope用于声明action使用多实例,这样AOP可以进行正常注入

热点排行