`
Acmey
  • 浏览: 53905 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Struts2和Spring2整合

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


struts.properties
struts.objectFactory = spring  
或者是在XML文件中进行常量配置

struts.xml

<struts>  
    <constant name="struts.objectFactory" value="spring" />  
</struts>  
3)配置Spring监听器

web.xml

<listener>  
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
</listener>  
通过Spring配置来注册对象

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE beans PUBLIC    
    "-//SPRING//DTD BEAN//EN"   
    "http://www.springframework.org/dtd/spring-beans.dtd">  
<beans default-autowire="autodetect">  
    <bean id="hello" class="hpfyeah.struts2.spring.HelloWorldAction"/>  
</beans>  
当然你也可以拥有更多的Spring配置文件。在web.xml中进行下列设置,从而使Spring的ApplicationContext通过匹配所给定模式的文件来初始化对象

web.xml

<!– 用来定位Spring XML文件的上下文配置 –>  
<context-param>  
    <param-name>contextConfigLocation</param-name>  
    <param-value>
        /WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml
    </param-value>  
</context-param>  
4)修改你的Struts配置文件

struts.xml

<!DOCTYPE struts PUBLIC      
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"      
    "http://struts.apache.org/dtds/struts-2.0.dtd">     
<struts>     
    <include file="struts-default.xml"/>     
    <package name="default" extends="struts-default">     
        <action name="pureStruts" class="hpfyeah.struts2.spring.HelloWorldAction">
            <result>hello.jsp</result>     
        </action>  
        <action name="springStruts" class="hello">      
            <result>hello.jsp</result>     
        </action>     
</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
struts.objectFactory.spring.useClassCache = false 


按照以上步骤做了,但出错、异常信息如下


Messages: springhello
Action class [springhello] not found

File: com/caucho/loader/DynamicClassLoader.java
Line number: 1,124
分享到:
评论

相关推荐

    整合struts2和spring

    将Struts2和Spring整合可以充分利用各自的优势,实现更加灵活、高效的应用开发。 整合Struts2和Spring主要涉及以下几个关键步骤: 1. **添加依赖**:首先,需要在项目的构建配置文件(如Maven的pom.xml或Gradle的...

    struts2和spring和Hibernate整合的jar包

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

    Struts2整合Spring、JPA

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

    最新版本的Struts2+Spring4+Hibernate4框架整合

    整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...

    struts2与spring2的整合

    整合Struts2和Spring2的主要目标是将Spring的DI功能引入到Struts2的Action类中,使得Action类的依赖可以在Spring容器中被管理。这样,Action类不再需要自行创建依赖对象,而是通过Spring来获取,增强了代码的可维护...

    struts2和spring3注解整合问题

    1. **Struts2和Spring3的整合原理** - **Struts2**:主要负责处理HTTP请求,通过Action映射到业务逻辑,返回结果视图。Struts2支持基于XML的配置和注解方式定义Action。 - **Spring3**:提供了强大的DI和AOP功能,...

    struts2和spring整合包

    **Struts2和Spring整合** 整合Struts2和Spring的主要目标是利用两者的优点,创建一个更强大的MVC应用。整合步骤通常包括: 1. **配置Spring**:创建Spring的ApplicationContext配置文件,定义Bean及其依赖。 2. **...

    struts2整合Spring和hibernate案例

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自在应用程序的不同层面发挥着重要作用。Struts2作为MVC(模型-视图-控制器)框架,负责处理请求和展示视图;Spring是一个全面的后端解决方案,提供...

    struts2整合spring实现拦截器

    值得注意的是,Struts2_Spring整合过程中可能会遇到如依赖冲突、配置问题等挑战,因此熟悉两种框架的原理和配置细节至关重要。同时,随着技术的发展,现代Web开发更多倾向于使用Spring Boot这类一站式解决方案,但...

    struts2-spring-plugin-2.3.4.jar

    Struts2-Spring-Plugin-2.3.4.jar 是一个专门为 Struts 2 框架和 Spring 框架整合而设计的插件,主要用于处理 Struts 2 和 Spring 之间的集成问题。在Java Web开发中,这两个框架经常一起使用,Spring 提供了依赖...

    struts2和Spring整合需要的jar包

    下面将详细介绍整合Struts2和Spring所需的关键知识点。 首先,我们需要理解整合的目的。Struts2提供了强大的Action层处理,而Spring则擅长于业务逻辑管理和数据访问。整合这两者,我们可以将Struts2的动作控制与...

    struts2+spring+hibernate 整合的jar包

    4. **整合Struts2和Spring**:使用Struts2的Spring插件,将Spring管理的Bean注入到Struts2的Action中,通常通过`&lt;struts-plugin&gt;`标签进行配置。 5. **配置Struts2**:创建Struts2的配置文件(struts.xml),定义...

    hibernate struts2 和spring的整合项目

    【描述】:“这是一个将Hibernate、Struts2和Spring三大框架集成在一起的项目示例。它展示了如何在实际开发中有效地结合这三个强大的Java技术,实现数据持久层、业务逻辑层和表示层的无缝协作。” 【详细知识点】:...

    Struts2与Spring2框架整合实例

    7. **SSTest**:这个文件可能是项目的主要测试类或测试目录,包含了对整合后的Struts2和Spring2框架进行验证的代码。测试通常包括Action类的各个方法,以及Spring服务的调用。 通过以上知识点,我们可以理解Struts2...

    Struts1+Spring2+Hibernate2整合详细例子

    整合Struts1、Spring2和Hibernate2的过程主要包括以下步骤: 1. **配置环境**:确保所有依赖库已添加到项目的类路径中,如struts-core.jar、spring-framework.jar和hibernate-core.jar等。 2. **配置Struts1**:...

    Struts2和Spring整合

    Struts2和Spring是两个非常流行的Java开源框架,它们分别在MVC...以上就是关于“Struts2和Spring整合”的主要知识点,通过这样的整合,开发者可以充分利用两个框架的优点,实现更高效、更灵活的Java Web应用开发。

    struts2+spring+mybatis+easyui的实现

    总的来说,"struts2+spring+mybatis+easyui"的实现是一个标准的Java Web项目结构,它利用Maven进行构建管理,通过整合四个组件,实现了后端的业务逻辑处理、数据访问和前端的用户界面展示。这种架构在实际开发中具有...

    Struts2+Spring整合所需jar包

    下面我们将详细介绍Struts2和Spring整合所需的核心jar包及其作用。 1. **Struts2框架**: - **struts2-core.jar**:Struts2的核心库,包含了Action、Interceptor、Result等核心组件。 - **struts2-convention-...

    Struts2+spring+ibatis三大框架整合实例

    5. **整合Struts2和Spring**:使用Spring插件(struts2-spring-plugin),让Struts2能够识别并注入Spring管理的Bean。 6. **整合Spring和iBatis**:在Spring配置文件中配置SqlSessionFactory,使用...

Global site tag (gtag.js) - Google Analytics