Struts + Spring集成示例

这是一个教程,显示如何在使用Apache Struts 1.x开发的Web应用程序中访问在Spring Ioc容器中声明的bean。

下载此Struts 1.x + Spring示例– Struts-Spring-Hibernate-Example.zip

Spring带有针对Spring Ioc容器中声明的访问bean的“特定于Struts的”解决方案。

  1. 在Struts配置文件中注册Spring的现成Struts插件。
  2. 更改Struts动作类以扩展Spring的ActionSupport类,该类是Struts动作类的子类。
  3. ActionSupport提供了一种方便的getWebApplicationContext()方法,供您访问在Spring Ioc容器中声明的bean。

1. Struts + Spring依赖

为了与Struts 1.x集成,Spring需要“ spring-web.jar ”和“ spring-struts.jar ”库。 您可以从Spring网站或Maven下载它。
pom.xml

<!-- Spring framework --> 
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring</artifactId>
		<version>2.5.6</version>
	</dependency>
    
        <dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-web</artifactId>
		<version>2.5.6</version>
	</dependency>
	
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-struts</artifactId>
		<version>2.0.8</version>
	</dependency>

2.注册Struts插件

在您的Struts配置文件(struts-config.xml)中,注册Spring的现成Struts插件–“ ContextLoaderPlugIn ”。

struts-config.xml

<struts-config>
    <!-- Spring Struts plugin -->
 	<plug-in className="org.springframework.web.struts.ContextLoaderPlugIn">
		<set-property property="contextConfigLocation"
			value="/WEB-INF/classes/SpringBeans.xml" />
  	</plug-in>
</struts-config>

ContextLoaderPlugIn ”将处理Struts和Spring之间的所有集成工作。 您可以将Spring的bean xml文件加载到“ contextConfigLocation ”属性中。

SpringBeans.xml

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
	<!-- Beans Declaration -->
	<import resource="com/mkyong/customer/spring/CustomerBean.xml"/>
	
</beans>

3. Spring的ActionSupport

在Struts Action类中,扩展Spring“ ActionSupport ”类,并通过“ getWebApplicationContext() ”方法获取Spring的bean。

CustomerBean.xml

<bean id="customerBo" class="com.mkyong.customer.bo.impl.CustomerBoImpl" >
   		<property name="customerDao" ref="customerDao" />
   	</bean>

支撑动作

package com.mkyong.customer.action;
 
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.springframework.web.struts.ActionSupport;

import com.mkyong.customer.bo.CustomerBo;
import com.mkyong.customer.model.Customer;
 
public class ListCustomerAction extends ActionSupport{
 
  public ActionForward execute(ActionMapping mapping,ActionForm form,
	HttpServletRequest request,HttpServletResponse response) 
        throws Exception {
 
	CustomerBo customerBo =
		(CustomerBo) getWebApplicationContext().getBean("customerBo");
		
	...
	return mapping.findForward("success");
	  
  }
}

做完了

翻译自: https://mkyong.com/struts/struts-spring-integration-example/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值