項(xiàng)目框架是struts2+spring,在未使用AOP機(jī)制前,在action層注入的service是沒有問題的,但是當(dāng)嘗試在action層使用AOP機(jī)制攔截相關(guān)異常時,會出現(xiàn)注入失敗的問題,出現(xiàn)空指針異常。
問題分析:原因是一般struts2+spring應(yīng)用中,spring的插件只負(fù)責(zé)為action的ioc部分,但并沒有進(jìn)行功能加強(qiáng),即采用代理的機(jī)制,所有的action還是使用struts2進(jìn)行管理,
在使用AOP后,這些action需要由spring進(jìn)行管理,如果沒有由spring進(jìn)行代理,將出現(xiàn)注入失敗。
解決辦法:在每個action前加上@Component("loginAction") @Scope("prototype"),在struts的配置中使用loginAction的名字進(jìn)行配置,@Scope用于聲明action使用多實(shí)例,這樣AOP可以進(jìn)行正常注入
Feedback
只有注冊用戶登錄后才能發(fā)表評論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
|
||
相關(guān)文章:
|
||