(第1種方法)xxAction繼承BaseAction,BaseAction注入了一個CommonManager,BaseAction.commonSave()方法調用了commonManager。
本來想xxAction調用父類的commonSave方法將會導致commonManager為null的錯誤,因為jvm去初始化BaseAction時并不會去注入CommonManger。
其實解決這個問題只需要在子類xxAction bean配置文件中加上commonManager這個property,然后把父類BaseAction的commonManager 改為protected就 Ok了。這樣初始化子類的時候會注入commonManager,調用commonSave方法也就不會拋出npe了。
(第2種方法)配置文件中把xxAction 加上parent的配置也是可以的,這樣會把父類的所有property都注入
配置了二三天的SSH多層整合(UI層,業務層,持久化層,DAO層完全分離),根本沒有想象中像“簡單版本“的SSH整合的那么順利,使用的MYECLIPSE6.0.1最新版本還是存在cglib2.2.3的版本沖突,刪除即可。
孫同事在我原來出錯的代碼上加入parent屬性后,順利調試成功,在網上找了這方面的資料,在http://eyejava.javaeye.com/category/25998?list=1&category=5530中真有和我遇到同樣問題的情況,而且有解決方法,就是上面的文章。
留個紀念!!
SSH多層整合雖然松藕合,但配置上環境上走的困難走太多了。555555555555555