在用spring与struts2整合合Spring时,service自动注入不进来为什么

  并且还存在一个问题当struts.xml此种方式配置时spring中如果配置了此action实例,并添加scope=“prototype”多例属性,则会在访问时报错可能struts2本身是多例与spring实例化机制冲突。所以此种方式配置时可废棄spring中的action类配置。

所以会产生两种struts与spring的配置方案:

则需要添加set方法才可以使用Spring依赖注入:

}
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

在SSH框架的项目中,Action一般由Spring创建并且Spring会使用自动装配的策略,将对应的组件注入洳果这里没有指定自动装配的类型 (autowire=”byName”),则使用byName的自动装配
问题在于这里的自动装配实际上是调用set方法来实现的,之前看到这段代碼:

在Spring的配置中并没有找到mgr为id的bean配置但是后来发现这里使用的是setMgrManager方法,也就是说只要存在mgrManager为id的bean就能注入到mgr的变量。

说到底理解Spring通过set方法利用反射机制为变量赋值这一点很重要。

}
版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明

struts2-spring-plugin.jar这个插件是同struts2一同发布的,在struts2的Action创建对象时它负责匹配在.class文件中的属性和spring配置文件中的id,如果能找到与.class文件中属性所对应的id则由spring去负责创建该属性的实例如果没有与之对应的id的话,则由Action自己去处理

}

我要回帖

更多关于 spring与struts2整合 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信