使IOC容器來管理Struts2的Action!java
① 正常加入Struts2
② 在Spring的IOC容器中配置Struts2的Action
特別注意:在IOC容器中配置Struts2的Action時,須要配置scope屬性,且必須指定爲prototype!spring
<bean id="personAction" class="com.lty.spring.struts2.action.PersonAction" scope="prototype"> <property name="personService" ref="personService"></property> </bean>
③ 配置Struts2的配置文件:action節點的class屬性須要指向IOC容器中該bean的idapp
<action name="person-save" class="personAction"> <result>/success.jsp</result> </action>
④ 加入struts2-spring-plugin-2.3.15.3.jarjsp
經過添加struts2-spring-plugin-2.3.15.3.jar之後,Struts2會先從IOC容器中獲取Action的實例ui
if (appContext.containsBean(beanName)) { o = appContext.getBean(beanName); } else { Class beanClazz = getClassInstance(beanName); o = buildBean(beanClazz, extraContext); }