`
kulinglei
  • 浏览: 101898 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

struts2 spring集成

阅读更多
1.将struts2-spring-plugin-2.0.8.jar文件包含到我们的应用中,放到WEB-INF/lib目录下面即可。在这个插件包中有个struts-plugin.xml文件,它的内容如下:

<struts>

    <bean type="com.opensymphony.xwork2.ObjectFactory" name="spring"

         class="org.apache.struts2.spring.StrutsSpringObjectFactory" />

    <constant name="struts.objectFactory" value="spring" />

    <package name="spring-default">

        <interceptors>

            <interceptor name="autowiring"

class="com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor"/>

            <interceptor name="sessionAutowiring"

class="org.apache.struts2.spring.interceptor.SessionContextAutowiringInterceptor"/>

        </interceptors>

    </package>   

</struts>

这里它将框架常量struts.objectFactory覆盖了,设置为”spring”,其实这里是使用了缩写,我们可以写全称:org.apache.struts2.spring.StrutsSpringObjectFactory。这个缩写的”spring”是和bean配置中的name属性相对应的。默认情况下所有由框架创建的对象都是由ObjectFactory实例化的,ObjectFactory提供了与其它IoC容器如Spring、Pico等集成的方法。覆盖这个ObjectFactory的类必须继承ObjectFactory类或者它的任何子类,并且要带有一个不带参数的构造方法。在这里我们用org.apache.struts2.spring.StrutsSpringObjectFactory代替了默认的ObjectFactory。

如果action不是使用Spring ObjectFactory创建的话,插件提供了两个拦截器来自动装配action,默认情况下框架使用的自动装配策略是name,也就是说框架会去Spring中寻找与action属性名字相同的bean,可选的装配策略还有:type、auto、constructor,我们可以通过常量struts.objectFactory.spring.autoWire来进行设置。

2.配置Spring监听器,将Spring.jar包包含到应用中

在web.xml中加上:

<listener>

        <listener-class>

            org.springframework.web.context.ContextLoaderListener

        </listener-class>

    </listener>

    <context-param>

        <param-name>contextConfigLocation</param-name>

        <param-value>

            classpath:applicationContext.xml

        </param-value>

    </context-param>

3.利用Spring配置文件来注册对象

在applicationContext-xml.进行配置bean,当配置Action的id时应该与struts.xml中class我相应,进行关联起来。如下:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC

    "-//SPRING//DTD BEAN//EN"

    "http://www.springframework.org/dtd/spring-beans.dtd">



<beans>

    <!-- Example of SAF2 action instantiated by Spring -->

    <bean id="dao" class="tutorial.dao.BookDao" singleton="true" />

    <bean id="bookAction" class="tutorial.action.BookAction" singleton="false">

        <property name="dao">

            <ref local="dao" />

        </property>

    </bean>

</beans>

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

    <package name="Struts2_CRUD_DEMO" extends="struts-default"      namespace="/Book">

        <global-results>

            <result name="root">/exception.jsp</result>   <!-- /指向book包外的页面 -->

        </global-results>

        <global-exception-mappings>

            <exception-mapping exception="common.MyException" result="root" />

        </global-exception-mappings>



        <action name="List" class="bookAction"  method="list">

            <result>List.jsp</result>

        </action>

        <action name="Edit" class="bookAction"  method="load">

            <result>Edit.jsp</result>

        </action>

        <action name="Store" class="bookAction" method="store">

            <result type="redirect">List.action</result>

            <result name="input">Edit.jsp</result>

        </action>

        <action name="Remove" class="bookAction" method="remove">

            <result type="redirect">List.action</result>

        </action>

    </package>

</struts>



注意:strut.xml中配置的action的class值,应该与spring中配置的Action Bean id 相应。

分享到:
评论

相关推荐

    flex与+struts2+hibernate+spring集成实例项目

    flex与+struts2+hibernate+spring集成实例项目,源码奉献,物有所值

    Struts Hibernate Spring集成开发宝典 源码

    《Struts Hibernate Spring集成开发宝典》以Struts,Hibernate,Spring为核心详细地讲解了这三个组件的基础知识和基本使用方法,并通过一系列集成开发实例讲解了这三个组件在J2EE项目中的应用。《Struts Hibernate ...

    struts hibernate spring集成开发宝典光盘源码(一).rar

    struts hibernate spring集成开发宝典光盘源码(一).rar

    struts+spring集成

    Struts+Spring集成的主要目的是利用两者的优点,使开发更高效、维护更方便。在集成过程中,通常会用Spring来管理Struts中的Action类,实现Action的依赖注入,从而提高代码的可测试性和解耦性。下面将详细讲解这个...

    struts hibernate spring集成开发宝典光盘源码(二).rar

    这个压缩包“struts hibernate spring集成开发宝典光盘源码(二).rar”显然是一个用于学习这三大框架集成的实践项目,包含了一些示例代码和接口定义。 1. Struts:Struts 是一款开源的MVC(Model-View-Controller...

    struts2 spring hibernate集成

    **Struts2与Spring的集成** 主要是通过Spring插件实现,这使得Action类可以作为Spring的bean管理,实现依赖注入。这样,Action类可以直接注入服务层(Service)和DAO(数据访问对象)层的bean,简化了代码结构,增强...

    Struts Hibernate Spring集成开发宝典.part1

    请下载Struts Hibernate Spring集成开发宝典.part1.rar和Struts Hibernate Spring集成开发宝典.part2.rar 《Struts Hibernate Spring集成开发宝典》中文pdf版 计算机电子书下载,《Struts Hibernate Spring集成开发...

    Struts,Hibernate,Spring集成开发宝典.pdf

    《Struts Hibernate Spring集成开发宝典》以Struts,Hibernate,Spring为核心详细地讲解了这三个组件的基础知识和基本使用方法,并通过一系列集成开发实例讲解了这三个组件在J2EE项目中的应用。《Struts Hibernate ...

    第27讲--Struts与Spring集成方案1(Struts集成Spring)

    在"第27讲--Struts与Spring集成方案1(Struts集成Spring)"中,我们主要探讨如何将Struts2与Spring进行整合。集成的主要目的是利用Spring的强大功能来管理Struts2中的Action类,从而实现更灵活的依赖注入和更好的控制...

    Struts Hibernate Spring 集成开发宝典springcore

    - **Struts-Spring集成**:通过Spring的Action代理,可以将Struts的Action实例化和管理交给Spring,实现Action的依赖注入。同时,Spring可以作为Struts的ModelDriven模式的实现,简化模型与视图的交互。 - **...

    struts2入门教程及struts2集成spring

    在Java Web开发中,将Struts2与Spring进行集成,可以充分利用两者的优势,实现更好的业务逻辑管理和控制流分离。集成过程主要包括以下几个步骤: 1. **引入依赖**:首先,在项目中添加Struts2和Spring的相关库,...

    Struts Hibernate Spring集成开发宝典2

    Struts Hibernate Spring集成开发宝典

    Struts Hibernate Spring 集成开发宝典 interfaces

    2. AOP整合:Spring的AOP可以用于事务管理,当Struts的Action执行完毕后,Spring会自动处理相关的事务操作。 3. 视图模型整合:Spring的ModelAndView与Struts的ActionForward可以结合,提供更灵活的视图跳转。 4. ...

    第28讲--Struts与Spring集成方案2(Spring集成Struts)

    本讲解将深入探讨如何将Spring集成到Struts中,以实现更好的控制反转(IoC)和面向切面编程(AOP)。 Struts是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,主要用于处理HTTP请求和展示视图。它...

    struts spring集成【下】

    通过以上步骤,我们可以成功地将Struts2和Spring集成在一起,利用Spring的强大功能管理Action类、事务以及其他的业务逻辑,同时保持Struts2的MVC架构清晰易用。这种集成方式提高了代码的可测试性,降低了耦合度,...

    Struts2 Spring Jpa 配置测试

    对于Struts2,Spring可以通过`struts-plugin.xml`与Struts2进行集成,提供Action的依赖注入。此外,还需要配置Spring的数据源、事务管理器以及JPA的实体扫描路径。 3. **JPA配置**:JPA的配置主要涉及`persistence....

    Struts Hibernate Spring 集成开发宝典 validator

    《Struts Hibernate Spring 集成开发宝典》是一本深度探讨企业级Java应用开发的著作,重点关注了三个核心框架的整合使用:Struts、Hibernate和Spring。这三大框架是Java Web开发中的重要组成部分,各自在不同的层面...

    Struts2 Spring2.5集成:系统登陆demo--带lib可直接运行

    2. **Struts2-Spring插件**:为了实现Struts2和Spring的集成,我们需要使用Struts2提供的Struts2-Spring插件。这个插件能够使Struts2 Action类成为Spring管理的Bean,从而可以利用Spring的DI功能。 3. **Action配置...

    ssh集成jar包,支持spring集成Hibernate,spring集成struts2等

    - Spring与Struts2集成,Spring可以作为Struts2的Action的依赖注入容器,通过Spring的ApplicationContext获取服务层对象,实现业务逻辑处理。 - Struts2与Hibernate集成,通常在Action中通过SessionFactory获取...

    struts2 spring hibernate框架技术与项目实战 光盘源码上

    在本资源中,"struts2 spring hibernate框架技术与项目实战 光盘源码 上"提供了这三大框架的实践项目代码,帮助开发者深入理解并掌握它们的集成与应用。 Struts2作为MVC(模型-视图-控制器)框架,主要负责处理HTTP...

Global site tag (gtag.js) - Google Analytics