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