`

【SSI开发总结.1】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
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="byName">
      <bean id="personManager" class="com.acme.PersonManager"/>
</beans>

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

<!-- 用来定位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="foo" class="com.acme.Foo">
      <result>foo.ftl</result>
      </action>
      </package>
      <package name="secure" namespace="/secure" extends="default">
      <action name="bar" class="bar">
      <result>bar.ftl</result>
      </action>
      </package>
</struts>

默认情况下,Spring从下面的文件中寻找为bar所做的配置

applicationConext.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="byName">
      <bean id="bar" class="com.my.BarClass" singleton="false"/>
      ...
</beans>

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

struts.objectFactory.spring.autoWire = type

该参数可供选择的设置值有

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

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

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

相关推荐

    ssi2(struts2+spring+ibatis)整合加用户增加改查操作

    总的来说,"ssi2(struts2+spring+ibatis)整合加用户增加改查操作"是一个完整的Java Web开发实践,涵盖了MVC框架的整合、数据库操作和基本的业务逻辑处理。理解并掌握这些知识点,对于提升Java Web开发能力具有重要...

    SSI框架集成实例(struts2,spring,ibats)

    SSI框架,即Struts2、Spring和iBatis的集成,是Java开发中常见的Web应用程序架构。这个实例项目展示了如何将这三个组件有效地整合在一起,构建一个功能完善的MVC(Model-View-Controller)应用程序。在数据库层,...

    MyEclispse下SSI整合JAR包(Struts1+Spring3+ibatis2)

    本主题将详细探讨如何在MyEclipse环境下整合Struts1、Spring3和iBATIS2(或MyBatis)这三大框架,构建一个强大的企业级应用。 首先,Struts1是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它负责...

    Ssi的整合(Struts2+Spring+Ibatis)

    **SSI整合:Struts2+Spring+Ibatis详解** 在Java Web开发中,Struts2、Spring和Ibatis是常见的三大框架,它们各自负责不同的职责,共同构建出强大的后端应用架构。Struts2作为MVC框架处理请求和视图展示,Spring...

    eclipse开发的ssi整合struts2+ibatis2.x+spring2.5

    总的来说,"eclipse开发的ssi整合struts2+ibatis2.x+spring2.5"是一个实用的学习案例,旨在帮助新手理解这三大框架的协同工作方式。通过实际操作,可以加深对Java Web开发的理解,提升项目开发技能。

    Struts2+Spring+Mybaits3框架整合实例

    Struts2、Spring和MyBatis3是Java Web开发中常用的三大开源框架,它们的整合应用可以构建出高效、灵活的MVC(Model-View-Controller)架构。本实例将详细解析这三大框架如何协同工作,提升开发效率,并提供一个基于...

    ssi(struts+spring+maven+mybatis)整合

    `SSI`整合,即Struts、Spring、Maven和MyBatis的组合,旨在提供一个强大的、可维护的、模块化的开发环境。下面我们将深入探讨这四个组件以及它们如何协同工作。 **1. Struts:**Struts是Apache组织提供的一个基于...

    ssi项目实例 采用struts2、spring2.5、ibatis2.3实现

    综上所述,这个SSI项目实例展示了如何整合Struts2、Spring和iBatis三大框架,构建一个高效、可扩展的企业级应用。通过深入理解这三个组件的功能和它们之间的协作,开发者能够更好地掌握Web应用开发的技术栈,提升...

    ssi.rar_ibatis_ibatis struts2_java ssi_myeclipse ssi_struts2

    ibatis_ibatis_struts2_java ssi_myeclipse ssi_struts2"揭示了这个压缩包文件包含的内容,主要涉及到SSI(Server Side Include)技术、MyEclipse开发环境、以及三大框架——Struts2、Spring和iBatis的整合应用。...

    Struts2+Spring2+iBatis2整合的例子

    Struts2、Spring和iBatis是Java Web开发中三个非常重要的框架,它们分别负责表现层、业务层和数据访问层。将这三个框架整合在一起,可以实现MVC(Model-View-Controller)架构,提高应用的灵活性和可维护性。 **...

    struts2 + spring2.5 + ibatis2.3.4整合包文件

    4. SSI整合:SSI是Struts2、Spring和iBatis的简称,它们的整合可以实现一个松耦合、可测试、易于维护的Java Web应用。在整合过程中,Struts2负责用户交互,Spring负责业务逻辑和依赖管理,iBatis则处理数据访问。...

    struts2+spring+Ibatis框架包

    Struts2、Spring和iBatis是Java Web开发中三个非常重要的开源框架,它们共同构建了一个灵活、可扩展且高效的应用程序开发环境。这个“struts2+spring+iBatis框架包”集成了这三个框架,使得开发者能够快速构建基于...

    图文搭建SSI(struts+spring+ibatis)框架

    本文将详细介绍如何使用MyEclipse8.5进行SSI(Struts2、Spring2.5、iBatis)框架的整合搭建。首先,我们需要一个新的Web项目作为基础。 1. **创建Web Project** 在MyEclipse8.5中,选择`File` -&gt; `New` -&gt; `...

    ssi_struts2_spring_ibatis 增删改查分页

    标题中的"ssi_struts2_spring_ibatis"指的是一个基于Java技术栈的Web应用程序开发框架组合,主要包括Struts2、Spring和iBatis。这三个组件是企业级Java应用中的常见选择,它们各自承担着不同的职责。 1. **Struts2*...

    SSI+Mina2(Struts2+Spring4+Mybatis3+Mina2)集成发布就可运行

    标题中的"SSI+Mina2(Struts2+Spring4+Mybatis3+Mina2)集成发布就可运行"指的是一个基于Java的Web应用程序开发框架的整合,它结合了多种技术来构建高效、灵活和可扩展的网络应用。这个集成方案主要包括以下组件: 1....

    SSI+EXT (Struts2+Spring+Ibatis+Ext)

    总结来说,SSI+EXT组合提供了完整的前后端开发解决方案,Struts2处理请求,Spring管理业务逻辑,Ibatis负责数据库操作,而Ext JS则为用户提供了友好的交互界面。这个项目实例对于学习和理解这些技术的集成以及实际...

    SSI, IBatis+struts2+spring+mysql整合增删改查

    "SSI, IBatis+struts2+spring+mysql整合增删改查"这个标题指的是一个基于这些技术的项目,下面将详细介绍这些技术及其整合过程。 **SSI(Server Side Includes)**: SSI,全称服务器端包含,是一种在Web服务器端...

    Struts1+Spring+iBatis-jar包

    然而,需要注意的是,虽然这三者可以良好集成,但在现代Web开发中,Struts1已被Struts2或其他更先进的框架替代,Spring Boot等一站式解决方案也逐渐成为主流,因为它们提供了更简洁的配置和更强大的功能。...

    SSI2 Struts2+Spring2.5+IBatis2 配置

    Struts2、Spring2.5 和 iBatis2 是经典的Java Web开发框架组合,它们各自在应用程序的不同层面提供了强大的功能。下面将详细讲解这三大框架的集成配置以及log4j的相关知识。 首先,Struts2 是一个基于MVC(Model-...

    struts2+spring+ibatis做的增删改查的小例子

    Struts2、Spring和iBatis是Java Web开发中三个非常重要的开源框架,它们的集成应用,即SSI2(Struts2 + Spring + iBatis)整合,是构建企业级应用的常见方式。这个"struts2+spring+ibatis做的增删改查的小例子"是一...

Global site tag (gtag.js) - Google Analytics