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

Spring2.5.6+Struts2.318+ibatis2的整合

 
阅读更多
根SSH整合相似,在web.xml中加入struts2的Filter以让web container加载struts framework,同时将struts2中用到的Action也一并交由spring container来管理。
struts2ibatis
即struts2的acton生成交由spring container管理(具体org.springframework.web.context.ContextLoaderListener),而ibatis则由spring来生成。
org.springframework.orm.ibatis.SqlMapClientFactoryBean
步骤1:web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><display-name>java_eBooking</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!-- 
1、指定spring的配置文件,默认从webroot根目录寻找配置文件, 
我们可以通过spring提供的classpath:前缀指定从类路径下寻找  contextConfigLocation
--><!--
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml
</param-value>
</context-param>
--><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><filter><filter-name>struts2</filter-name><filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>
步骤2:
src/applicationContext.xml,配置如下

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemalocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-2.5.xsd
        http://www.springframework.org/schema/tx
         http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd"><aspectj-autoproxy></aspectj-autoproxy><bean id="myAspect" class="com.ebooking.aop.BeforeExample"><!-- configure properties of aspect here as normal --></bean><bean id="productService" class="com.ebooking.service.ProductService"><property name="productDao"><ref bean="productDao"></ref></property></bean><bean id="hellowordAction" class="com.ebooking.web.struts.action.HelloWordAction" scope="prototype"><constructor-arg ref="hellowordService"></constructor-arg></bean><bean id="hellowordService" class="com.ebooking.service.HelloWordService"><property name="helloWordDao" ref="helloWordDao"></property></bean><bean id="helloWordDao" class="com.ebooking.dao.impl.HelloWordDaoImpl"></bean><bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><value>classpath:conn/jdbc.properties</value></property></bean><bean id="productDao" class="com.ebooking.dao.impl.ibatis.maps.SqlMapProductDao"><property name="sqlMapClient" ref="sqlMapClient"></property></bean><bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><value>classpath:conn/jdbc.properties</value></property></bean><bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"><property name="configLocation" value="classpath:sql-map-config.xml"></property><property name="dataSource" ref="dataSource"></property></bean><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"><property name="driverClass" value="${jdbc.driverClassName}"></property><property name="jdbcUrl" value="${jdbc.url}"></property><property name="user" value="${jdbc.username}"></property><property name="password" value="${jdbc.password}"></property><property name="minPoolSize" value="1"></property><property name="initialPoolSize" value="2"></property><property name="maxPoolSize" value="20"></property><property name="maxIdleTime" value="1800"></property><property name="acquireIncrement" value="2"></property><property name="maxStatements" value="3"></property><property name="idleConnectionTestPeriod" value="1800"></property><property name="acquireRetryAttempts" value="3"></property></bean><bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"></property></bean><config><pointcut id="bussinessService" expression="execution(public * com.ebooking.service.*.*(..))"></pointcut><advisor pointcut-ref="bussinessService" advice-ref="txAdvice"></advisor></config><advice id="txAdvice" transaction-manager="txManager"><attributes><method name="list" read-only="true"></method><method name="*" propagation="REQUIRED"></method></attributes></advice></beans>
另外:src/sql-map-config.xml,配置如下:
<?xml version="1.0" encoding="UTF-8"?><sqlmapconfig><sqlmap resource="com/ebooking/dao/impl/ibatis/maps/Product.xml"></sqlmap></sqlmapconfig>
=====Product.xml========
<?xml version="1.0" encoding="UTF-8"?><sqlmap namespace="Product"><cachemodel id="oneDayProduct" type="MEMORY"><flushinterval hours="24"></flushinterval><property name="reference-type" value="WEAK"></property></cachemodel><resultmap id="result" class="com.ebooking.model.Product"><result property="productId" column="productid" columnindex="1"></result><result property="name" column="name" columnindex="2"></result><result property="description" column="descn" columnindex="3"></result><result property="categoryId" column="category" columnindex="4"></result></resultmap><select id="getProduct" resultmap="result">
    select productid, name, descn, category from product where productid = #value#
  </select><select id="getProductListByCategory" resultmap="result">
    select productid, name, descn, category from product where category = #value#
  </select><select id="searchProductList" resultmap="result">
    select productid, name, descn, category from product
    <dynamic prepend="where"><iterate property="keywordList" open="(" close=")" conjunction="OR">
        lower(name) like #keywordList[]# OR lower(category) like #keywordList[]# OR lower(descn) like #keywordList[]#
      </iterate></dynamic></select></sqlmap>

尔后就是一般的业务调用了,
总体来说:SSI比SSP整合简单,当然在整合的过程中有一个简单的测试方法:
你在作好以上相关配置好,可写一个直接调用action的测试类,如能得到你想要的结果则证明你配置OK,如还在浏览器上运行失败则要向你jar导入出问题了如版本不匹对这方面来考虑了。

分享到:
评论

相关推荐

    hibernate3.3.2+spring2.5.6+struts2.1.6整合包+anntations

    标题和描述中提到的"hibernate3.3.2+spring2.5.6+struts2.1.6整合包+anntations"是指一个经典的Java Web开发框架集成,通常被称为SSH(Struts2、Spring、Hibernate)框架。这个整合包包含这三个组件的特定版本,用于...

    Struts2.0.14+Spring2.5.6+Struts.1.3.8+Hibernate3.2

    Struts2.0.14、Spring2.5.6、Struts1.3.8以及Hibernate3.2是四个非常关键的Java Web开发框架,它们在2000年代末到2010年代初广泛应用于企业级应用中。这个压缩包文件包含了这些框架的核心组件,对于学习和理解SSH...

    SSH2--spring 2.5.6 + struts 2.2.1 + hibernate 3.5.5全部的注解的 M V C

    spring 2.5.6 + struts 2.2.1 + hibernate 3.5.5 内有 AOP 的切面、全部的注解的 M V C 结构,之外还在上网上找了一个同学的学习笔记一起打包,感觉好不错!

    spring2.5.6 +struts2.1.8+hiernate3.3.2(jar)

    标题中的"spring2.5.6 +struts2.1.8+hiernate3.3.2(jar)"指的是一个集成开发环境,它包含了三个关键的Java Web框架:Spring 2.5.6、Struts 2.1.8和Hibernate 3.3.2。这些框架在Java应用开发中扮演着重要的角色,尤其...

    Struts2.1.8+Spring2.5.6+Hibernate3.3.2项目整合

    Struts2.1.8+Spring2.5.6+Hibernate3.3.2是经典的Java Web开发框架组合,常被称为SSH。这三个框架协同工作,为开发者提供了强大的模型-视图-控制器(MVC)架构支持,使得企业级应用的开发更加高效和模块化。 Struts...

    spring2.5.6+struts2.1.6+hibernate3.3.2+mysql驱动包

    这个集合包含了Spring 2.5.6、Struts2 2.1.6、Hibernate 3.3.2以及适用于MySQL的驱动程序,这些都是构建基于Java的动态Web应用程序的关键组件。 首先,Spring框架是Java企业级应用开发的核心框架,版本2.5.6。...

    Spring2.5.6+struts2.1.8+hibernate3.3.2框架集成

    本项目涉及的是Spring 2.5.6、Struts 2.1.8和Hibernate 3.3.2这三大流行Java企业级框架的集成。下面将详细介绍这三个框架及其集成的关键知识点。 首先,Spring框架(2.5.6版本)是一个轻量级的全面应用框架,它提供...

    Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0)架包

    一、Spring MVC环境搭建:(Spring 2.5.6 + Hibernate 3.2.0)  1. jar包引入  Spring 2.5.6:spring.jar、spring-webmvc.jar、commons-logging.jar、cglib-nodep-2.1_3.jar  Hibernate 3.6.8:hibernate3.jar...

    struts2.1.8.1+spring2.5.6+hibernate3.5.6整合注解

    Struts2.1.8.1、Spring2.5.6和Hibernate3.5.6是经典的Java企业级开发框架组合,它们各自扮演着不同的角色,共同构建了一个强大的后端架构。Struts2是一个用于创建MVC(模型-视图-控制器)模式的Web应用程序的开源...

    ssh2(spring2.5.6+struts2.2.3+hibenate3.2)

    在这个特定的例子中,版本分别对应于Spring 2.5.6、Struts2 2.2.3和Hibernate 3.2。下面将详细解释这三个组件以及它们在项目中的作用。 **Spring框架(2.5.6版)**: Spring是一个全面的Java应用框架,提供依赖注入...

    struts 2+spring 2.5.6+ibatis2.3.4集成

    总结来说,"struts 2+spring 2.5.6+ibatis2.3.4集成"是一个经典的Java Web开发组合,它利用各框架的优势,构建出稳定、高效的Web应用程序。这个集成方案在当时被广泛应用,并为许多开发者提供了构建复杂系统的基石。...

    WEB项目-集成Flex3+BlazeDS3.2+Spring2.5.6+iBatis2.3.4+Struts2.1.8

    1. **Struts2与Spring的整合**:本项目中,Struts2的动作类(Action)被托管于Spring容器,这意味着Action类作为Spring的bean管理,可以利用Spring的依赖注入来获取其他服务。这样做的好处是可以更好地控制对象生命...

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例

    JQuery1.4.2+Struts2.1.8+JSON0.34+Spring2.5.6+Hibernate3.5+XFire1.2.6整合实例(已上传) 1、JSON0.34使用的是struts2附带的struts2-json-plugin-2.1.8.1.jar 2、db是mysql,名字为test,用户名root,密码空 3、...

    spring2.5.6+hibernate3.3.2+struts2.1.8

    标题 "spring2.5.6+hibernate3.3.2+struts2.1.8" 提供了一个经典的Java Web开发技术栈,这个组合被称为S2SH(Spring、Struts2和Hibernate)。这个版本的集成对于初学者来说是一个很好的起点,因为它包含了三个主要的...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.2整合包

    综上所述,Struts2.1.6+Spring2.5.6+Hibernate3.3.2的整合提供了全面的Java Web开发解决方案,它简化了开发流程,提高了代码的可维护性和可扩展性。开发者可以通过掌握这三个框架的整合,提升自身在企业级应用开发中...

    struts2+spring2.5.6+hibernate3.0+ext整合开发

    在"struts2+spring2.5.6+hibernate3.0+ext"的整合开发中,通常会使用Spring来管理Struts2的Action类,实现业务逻辑的解耦。同时,Spring可以作为Hibernate的事务管理器,处理数据库操作。Ext则用于创建前端用户界面...

    Struts2.1.6+Hibernate3.3.1+Spring2.5.6整合jar包.zip

    Struts2、Hibernate和Spring是Java开发中三大主流框架,它们各自解决应用程序的不同问题领域,而将这三者整合在一起可以构建出强大的企业级应用。Struts2作为MVC(模型-视图-控制器)框架负责处理用户请求,管理前端...

    spring-framework-2.5.6.SEC01.zip

    spring-framework-2.5.6.SEC01.zip spring-framework-2.5.6.SEC01.zip spring-framework-2.5.6.SEC01.zip spring-framework-2.5.6.SEC01.zip

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1整合

    ### Struts2.1.6 + Spring2.5.6 + Hibernate3.3.1 整合 在本文中,我们将详细介绍如何将Struts2.1.6、Spring2.5.6以及Hibernate3.3.1进行整合,并构建一个简单的MVC应用。通过这个过程,读者将了解到这三种框架的...

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合开发

    Struts2.1.6+Spring2.5.6+Hibernate3.3.1框架整合开发 http://www.cnitblog.com/intrl/archive/2009/04/13/56322.aspx 这篇文章的源码由于他的上传的空间用户可能下载失败,作者相当牛而且具有奉献精神

Global site tag (gtag.js) - Google Analytics