`

整合 Spring 和 Strust2 一起工作

阅读更多

 


关键字: 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)好了,现在你的Struts2Spring 就能正常的一起工作了。有几个配置技术点需要详细说明下:
装配模式 。你可以通过设置修改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

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+hibernate+Redis整合

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

    Spring与Struts2整合

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

    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