(第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