`

整合 Spring 和 Strust2 一起工作

    博客分类:
  • JAVA
阅读更多

关键字: struts2 spring

在Struts2中整合Spring的IoC支持是一件十分简单的事情。让我们一步一步来实现:
1)复制struts2-spring-plugin-x-x-x.jar和相应的spring.jar到/WEB-INF/lib目录下。
2)在struts.properties中设置struts.objectFactory属性值

struts.properties
  1. struts.objectFactory = spring  

或者是在XML文件中进行常量配置

struts.xml
  1. <struts>  
  2.     <constant name="struts.objectFactory" value="spring" />  
  3. </struts>  

3)配置Spring监听器

web.xml
  1. <listener>  
  2.     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
  3. </listener>  

通过Spring配置来注册对象

applicationContext.xml
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC    
  3.     "-//SPRING//DTD BEAN//EN"   
  4.     "http://www.springframework.org/dtd/spring-beans.dtd">  
  5. <beans default-autowire="autodetect">  
  6.     <bean id="hello" class="hpfyeah.struts2.spring.HelloWorldAction"/>  
  7. </beans>  

当然你也可以拥有更多的Spring配置文件。在web.xml中进行下列设置,从而使Spring的ApplicationContext通过匹配所给定模式的文件来初始化对象

web.xml
  1. <!-- 用来定位Spring XML文件的上下文配置 -->  
  2. <context-param>  
  3.     <param-name>contextConfigLocation</param-name>  
  4.     <param-value>
  5.         /WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml
  6.     </param-value>  
  7. </context-param>  

4)修改你的Struts配置文件

struts.xml
  1. <!DOCTYPE struts PUBLIC      
  2.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"      
  3.     "http://struts.apache.org/dtds/struts-2.0.dtd">     
  4. <struts>     
  5.     <include file="struts-default.xml"/>     
  6.     <package name="default" extends="struts-default">     
  7.         <action name="pureStruts" class="hpfyeah.struts2.spring.HelloWorldAction">
  8.             <result>hello.jsp</result>     
  9.         </action>  
  10.         <action name="springStruts" class="hello">      
  11.             <result>hello.jsp</result>     
  12.         </action>     
  13. </struts>  

默认情况下,Spring从上面显示的applicationContext.xml文件中寻找为hello所做的配置

5)好了,现在你的Struts2和Spring就能正常的一起工作了。有几个配置技术点需要详细说明下:
装配模式。你可以通过设置修改struts.properties中下列属性的值来改变装配模式。

 

name 按照你的action的属性的名字和Spring里的bean的名字匹配,如果匹配就自动装配。这是缺省的
type 按照你的action的属性的类型,在Spring注册的bean中查找,如果相同就自动装配。这需要你在Spring中仅注册了一个此类型的bean
auto Spring会试图自动监测来找到最好的方法自动装配你的action
constructor Spring会自动装配bean的构造函数的参数

 

是否使用类缓存。你可以通过设置修改struts.properties中下列属性的值来改变是否使用Spring自身的类缓存机制。可以设定的值为true或false,默认为true。

struts.properties
  1. struts.objectFactory.spring.useClassCache = false 
分享到:
评论

相关推荐

    spring与struts2整合

    Spring 和 Struts2 是两个...总之,Spring 和 Struts2 的整合利用了两者的优势,提供了一种强大的方式来构建可扩展、易于维护的 Java Web 应用。通过深入学习和实践,开发者可以掌握这种整合技巧,并在实际项目中应用。

    整合Spring与Struts的几种方法

    整合Spring和Struts是Web开发中常见的需求,这两者都是Java Web开发的重要框架。Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,以及对其他框架的良好集成,而Struts则是一个专注于MVC模式的轻量级框架...

    Spring与Struts 2整合.zip

    整合Spring和Struts 2的主要目的是将Spring的依赖注入和管理能力引入到Struts 2的Action中,以及利用Spring的AOP进行事务管理。整合步骤通常包括以下几个部分: 1. **添加依赖**:在项目中引入Spring和Struts 2的库...

    Spring与Struts2整合

    在Java Web开发中,Spring和Struts2...整合Spring和Struts2是一个常见的Java Web开发实践,熟练掌握这一技能能够提高开发效率,提升应用的可维护性和扩展性。在实际开发过程中,可以根据项目的具体需求进行定制和优化。

    Spring+Struts2+hibernate+Redis整合

    在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...

    spring+struts2+ibatis整合的jar包

    当我们把Spring、Struts2和iBatis整合在一起时,可以构建出一个高效、模块化的Web应用。Spring作为整体的框架容器,负责管理所有的Bean,包括Struts2和iBatis的相关组件。Struts2处理HTTP请求,调用Spring管理的业务...

    整合struts2和spring

    在Struts2和Spring整合中,可以使用Spring提供的拦截器,例如`org.springframework.web.struts.DelegatingInterceptor`,它能让Spring容器处理Action的实例化。 7. **事务管理**:Spring提供了强大的事务管理功能。...

    spring和struts2.x的整合篇

    spring和struts2.x的整合篇spring和struts2.x的整合篇

    spring+struts2整合源码

    通过以上步骤,我们可以成功地整合Spring和Struts2,实现一个完整的MVC架构。这样的整合使得我们可以充分利用Spring的IoC和AOP特性,以及Struts2的MVC模型,构建出更加灵活、可扩展的Java Web应用。提供的源码应包含...

    Struts2整合Spring、JPA

    Struts2整合Spring和JPA是企业级Java应用开发中常见的技术组合,它们分别负责不同的职责:Struts2作为一款成熟的MVC框架,主要用于处理Web层的请求与响应;Spring作为一个全面的轻量级框架,提供了依赖注入(DI)和...

    struts2和spring和Hibernate整合的jar包

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自解决应用程序的不同问题,而将这三者整合在一起可以构建高效、灵活的企业级应用。Struts2作为MVC(Model-View-Controller)框架,负责处理用户请求...

    spring和struts的整合-aop的使用

    首先,整合Spring和Struts2的关键在于配置。通常,我们需要在Struts2的配置文件(struts.xml)中定义Action类,然后在Spring的配置文件(spring.xml)中声明这些Action类,并指定它们的bean实例。这样,Spring将负责...

    Spring整合Struts2

    1. **添加依赖**:整合Spring和Struts2,首先需要确保项目中包含必要的jar包。这些包括Spring的核心库、Struts2的核心库以及它们之间的整合包。最少的jar包可能包括:spring-context、spring-web、struts2-core、...

    spring+struts2+mybatis整合

    在IT行业中,构建一个应用程序通常涉及选择和集成不同的框架,以实现高效且可维护的解决方案。"Spring+Struts2+MyBatis整合"是一个常见的...通过实际操作,你将能更好地掌握Spring、Struts2和MyBatis的协同工作方式。

    spring4 struts2 mybatis3 maven3 整合

    这里提到的"spring4 struts2 mybatis3 maven3 整合"就是一个典型的Java Web开发技术栈,分别代表了Spring Framework 4、Struts 2、MyBatis 3和Maven 3这四个组件。下面将详细阐述这些技术以及它们整合的意义和方法。...

    dwr和spring和struts2整合

    Spring还提供了对其他框架的集成支持,如数据库访问、事务管理以及与Struts2和DWR的整合。 Struts2是一个基于MVC设计模式的Java Web框架,用于构建可维护、可扩展的应用程序。它提供了强大的动作类、拦截器、结果...

    Spring+Struts2+Ibatis整合例子

    **Spring、Struts2 和 iBatis 整合详解** 在Java Web开发中,Spring、Struts2 和 iBatis 是三个非常重要的框架。它们分别负责不同层面的任务:Spring 提供了全面的依赖注入(DI)和面向切面编程(AOP),用于管理...

    SSM整合Spring、Struts2、Mybatis整合

    SSM整合是Java Web开发中常见的一种框架集成方式,它结合了Spring、Struts2和Mybatis三个强大的组件,以实现高效、灵活的业务逻辑处理和数据持久化。以下是关于这三个框架及其整合的关键知识点的详细解释。 **...

Global site tag (gtag.js) - Google Analytics