Struts2集成spring:
Spring插件通过覆盖Struts2的ObjectFactory来工作,经过这个配置后,Struts2框架将使用spring来创建它的所有对象。如果对象不能被spring创建,那么框架将创建对象自身。
Interceptors 元素内部定义的两个拦截器作为一种替代选择,在你没有使用spring的ObjectFactory时,用于自动装配action,你需要在struts.xml文件中显式地去引用这两个拦截器。
Struts.objectFactory=spring
指定这个属性可以图覆盖默认的对象工厂。
Struts.objectFactory.spring.autoWire
指定当使用SpringObjectFactory时的自动装配逻辑。有效的值包括:name,type,auto,constructor,默认值是name.
在Struts2中集成spring需要在web.xml中配置spring的监听器:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListerner</listener-class>
</listener>
在web.xml文件中,可以通过contextConfigLocation上下文参数来指定spring 配置文件的路径。如果你有多个配置文件,则用逗号或者空格来分隔文件列表:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/applicationContext-*.xml,classpath:applicationContext-*.xml
</parma-value>
</context-param>
Spring默认加载WEB-INF目录下的applicationContext.xml.
什么是依赖注入?
依赖注入即控制反转,将对象创建和对象链接的责任从对象自身转移到了IOC容器,由容器在运行期间将对象之间的依赖关系注入到对象之中。依赖注入要解决的是组件的松耦合和可重用。