(第1種方法)xxAction繼承BaseAction,BaseAction注入了一個(gè)CommonManager,BaseAction.commonSave()方法調(diào)用了commonManager。
本來(lái)想xxAction調(diào)用父類的commonSave方法將會(huì)導(dǎo)致commonManager為null的錯(cuò)誤,因?yàn)閖vm去初始化BaseAction時(shí)并不會(huì)去注入CommonManger。
其實(shí)解決這個(gè)問(wèn)題只需要在子類xxAction bean配置文件中加上commonManager這個(gè)property,然后把父類BaseAction的commonManager 改為protected就 Ok了。這樣初始化子類的時(shí)候會(huì)注入commonManager,調(diào)用commonSave方法也就不會(huì)拋出npe了。
(第2種方法)配置文件中把xxAction 加上parent的配置也是可以的,這樣會(huì)把父類的所有property都注入
配置了二三天的SSH多層整合(UI層,業(yè)務(wù)層,持久化層,DAO層完全分離),根本沒(méi)有想象中像“簡(jiǎn)單版本“的SSH整合的那么順利,使用的MYECLIPSE6.0.1最新版本還是存在cglib2.2.3的版本沖突,刪除即可。
孫同事在我原來(lái)出錯(cuò)的代碼上加入parent屬性后,順利調(diào)試成功,在網(wǎng)上找了這方面的資料,在http://eyejava.javaeye.com/category/25998?list=1&category=5530中真有和我遇到同樣問(wèn)題的情況,而且有解決方法,就是上面的文章。
留個(gè)紀(jì)念!!
SSH多層整合雖然松藕合,但配置上環(huán)境上走的困難走太多了。555555555555555
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
|
||