配置struts2中的action由spring容器管理

首先要在web.xml文件中添加监听器:

 <listener>
	    	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	    </listener>
      <!--指定spring的配置文件,默认从web根目录寻找配置文件,我们可以通过spring提供的classpath前缀指定从类路径下寻找-->
    <context-param>
    	<param-name>contextConfigLocation</param-name>
    	<param-value>classpath:applicationContext.xml</param-value>
    </context-param>
然后在applicationcontext.xml中配置要管理的action:

<bean id="loginAction" class="com.zmj.action.LoginAction">
		<property name="employeeServiceInter" ref="employeeService"/>
	</bean>

需要注意的是employeeServiceInter为loginAtion中的属性:

LoginAction.java:

private EmployeeServiceInter employeeServiceInter;
public void setEmployeeServiceInter(EmployeeServiceInter employeeServiceInter) {
<span style="white-space:pre">		</span>System.out.println("调用");
<span style="white-space:pre">		</span>this.employeeServiceInter = employeeServiceInter;
<span style="white-space:pre">	</span>}
而ref="employeeService"中的employeeService为已经配置了的bean:

<bean name="employeeService" class="com.zmj.service.imp.EmployeeService">
	<property name="sessionFactory" ref="sessionFactory"/>
</bean>

最后在struts2.xml中配置

<constant name="struts2.ObjectFactory" value="Spring"/>

再配置action:

<package name="front" namespace="/login" extends="struts-default">
		<action name="login" class="loginAction">

			<result name="success" type="chain">
				showMessage
			</result>
			<result name="error" type="dispatcher">
				<param name="location">/index.jsp</param>
				<param name="error">error</param>
			</result>
		</action>
</package>

需要注意的是此时action中的class属性对应的class为在applicationcontext.xml中配置了的bean:

<bean id="loginAction" class="com.zmj.action.LoginAction">
		<property name="employeeServiceInter" ref="employeeService"/>
	</bean>
中的id。

到这里就已经配置完毕啦。安静

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值