Spring如何整合struts2?
1) 整合目标?
使IOC容器来管理Struts2的Action!
2) 如何进行整合?
① 正常加入Struts2
② 在Spring的IOC容器中配置Struts2的Action
特别注意:在IOC容器中配置Struts2的Action时,需要配置scope属性,且必须指定为prototype!
<bean id="personAction" class="com.lty.spring.struts2.action.PersonAction" scope="prototype">
<property name="personService" ref="personService"></property>
</bean>
③ 配置Struts2的配置文件:action节点的class属性需要指向IOC容器中该bean的id
<action name="person-save" class="personAction">
<result>/success.jsp</result>
</action>
④ 加入struts2-spring-plugin-2.3.15.3.jar
3)整合原理
通过添加struts2-spring-plugin-2.3.15.3.jar以后,Struts2会先从IOC容器中获取Action的实例
if (appContext.containsBean(beanName)) {
o = appContext.getBean(beanName);
} else {
Class beanClazz = getClassInstance(beanName);
o = buildBean(beanClazz, extraContext);
}
来源:oschina
链接:https://my.oschina.net/u/3144678/blog/1564385