日期:2014-05-19  浏览次数:20848 次

分享+讨论
spring struts2整合 
struts2中的action不注入spring也可以运行(注入也可以),在开发过程中我一直没有把action注入spring中,今天添加新的action,运行的时候老报空指针错误,action中的service注入不了,之前那么多action都可以,今天这个怎么不行呢?奇怪,做法一模一样啊!上google去搜了一下,基本上没有答案,急啊!终于在一个好心人的博客中找到答案了,下面是博客原文:

  在struts.xml中配置action的class的时候,把包名也加上去了,这样的话struts2就不会用到spring容器,那struts2 就会直接去找那个actopm而不是通过Spring的BeanFactory,也就是说bean不在控制范围之内,当然Spring中声名显赫的IOC 和AOP就不能用了。。结果在Service中用注入DAO的时候就失效了,抛出一个NullPointerException的异常。

解决:将struts.xml中的action的class属性,由class名改为Spring中定义的bean名.

很奇怪的是很少有人提及这个问题,难道这个是什么机密吗?为什么一些人知道了不把它拿出来分享呢?

------解决方案--------------------
初学ssh2, 顶了!
------解决方案--------------------
同上、、、、、、
回复内容太短了