struts 2.3.7+spring3.2.0+MyBatis3.1 整合

s2sm

 一、准备工作


           首先去找struts的.  http://struts.apache.org/ 下载最新的struts 2.3.7. (在发这篇文章前我发现已经升级到了2.3.8)


    然后再去找spring的.  http://www.springsource.org/spring-framework 下载spring-framework-3.2.0.RELEASE-dist


     最后自然就是MyBatis3.0的  http://code.google.com/p/mybatis/downloads/list?can=3&q=Product%3DMyBatis  下载MyBatis的-3.1.1-bundle   


       二、提取需要用到的jar


           这里呢,我就直接做ssm的整合。 不分解做。所以不理解的童鞋可以先照我的做。 下去后可以自己度娘,谷哥去找分解整合。


          struts需要的jar:                                    spring 所需的jar:                       MyBatis所需的jar           其他所需jar


          struts2-core-2.3.7.jar                          spring-aop.jar                      mybatis-3.1.1.jar       commons-dbcp-1.4.jar
          xwork-core-2.3.7.jar                            spring-beans.jar        mybatis-spring-1.0.0.jar        commons-pool.jar
          commons-fileupload-1.2.2.jar                spring-context.jar                       dom4j.jar
          commons-lang3-3.1.jar                        spring-core.jar                         log4j.jar
          commons-logging-1.1.1.jar                   spring-jdbc.jar                         cglib-2.2.jar
          freemarker-2.3.19.jar                           spring-orm.jar                         classes12.jar     
          ognl-3.0.5.jar                                      spring-tx.jar                          
          javassist-3.12.0.GA.jar                        spring-web.jar
         commons-collections-3.1.jar                 spring-expression.jar       


        struts2-spring-plugin-2.3.7.jar              


       OK,我们已经提取出了整合所需的基本jar。 本人用的是oracle数据库,所以引入了classes12.jar。可以根据自己的需求换。


         我们先把这些jar放到我们项目的lib下。这个我想大家都会。


        


           到现在为止我们把所需要的jar全部导入进去了。 但是还没有关联。那么现在我们开始做关联配置。


    applicationContext.xml        

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:aop="http://www.springframework.org/schema/aop"  
  4.     xmlns:tx="http://www.springframework.org/schema/tx"  
  5.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  7.     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
  8.     http://www.springframework.org/schema/aop   
  9.     http://www.springframework.org/schema/aop/spring-aop-3.0.xsd   
  10.     http://www.springframework.org/schema/tx    
  11.     http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">  
  12.        
  13.     <!-- 配置DataSource数据源 -->  
  14.     <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  15.         <property name="locations">  
  16.             <value>classpath:jdbc.properties</value>  
  17.         </property>  
  18.     </bean>  
  19.         
  20.     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  
  21.         destroy-method="close">  
  22.         <property name="driverClassName" value="${db.driver}" />  
  23.         <property name="url" value="${db.url}" />  
  24.         <property name="username" value="${db.username}" />  
  25.         <property name="password" value="${db.password}" />  
  26.         <property name="initialSize" value="${db.initialSize}" />  
  27.         <property name="maxActive" value="${db.maxActive}" />  
  28.         <property name="validationQuery" value="${db.validationQuery}" />  
  29.         <!--<property name="defaultAutoCommit" value="${db.defaultAutoCommit}"></property> 
  30.          --></bean>  
  31.        
  32.     <!-- 配置事务管理器,注意这里的dataSource和SqlSessionFactoryBean的dataSource要一致,不然事务就没有作用了 -->  
  33.     <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  34.         <property name="dataSource" ref="dataSource" />  
  35.            
  36.     </bean>  
  37.            
  38.    <!-- 创建SqlSessionFactory,同时指定数据源 -->  
  39.     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
  40.         <property name="dataSource" ref="dataSource" />  
  41.         <!--   
  42.         <property name="configLocation" value="classpath:mybatis-config.xml"></property> 
  43.         -->  
  44.     </bean>  
  45.        
  46.     <!-- 配置事务的传播特性 -->  
  47.     <bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">  
  48.         <property name="transactionManager" ref="transactionManager" />  
  49.         <property name="transactionAttributes">  
  50.             <props>  
  51.                 <prop key="add*">PROPAGATION_REQUIRED</prop>  
  52.                 <prop key="edit*">PROPAGATION_REQUIRED</prop>  
  53.                 <prop key="remove*">PROPAGATION_REQUIRED</prop>  
  54.                 <prop key="insert*">PROPAGATION_REQUIRED</prop>  
  55.                 <prop key="update*">PROPAGATION_REQUIRED</prop>  
  56.                 <prop key="del*">PROPAGATION_REQUIRED</prop>  
  57.                 <prop key="cancel*">PROPAGATION_REQUIRED</prop>  
  58.                 <prop key="*">readOnly</prop>  
  59.             </props>  
  60.         </property>  
  61.     </bean>  
  62.        
  63.     <!-- 单独配置一个Mapper; 这种模式就是得给每个mapper接口配置一个bean -->  
  64.     <!--   
  65.     <bean id="accountMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">   
  66.         <property name="mapperInterface" value="com.hoo.mapper.AccountMapper" />  
  67.         <property name="sqlSessionFactory" ref="sqlSessionFactory" />   
  68.     </bean>   
  69.     <bean id="companyMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">   
  70.         <property name="mapperInterface" value="com.hoo.mapper.CompanyMapper" />  
  71.         <property name="sqlSessionFactory" ref="sqlSessionFactory" />   
  72.     </bean>  
  73.      -->   
  74.     <!-- 通过扫描的模式,扫描目录在com/hoo/mapper目录下,所有的mapper都继承SqlMapper接口的接口, 这样一个bean就可以了 <br>    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
  75.         <property name="basePackage" value="com.mobile.mapper"/>  
  76.         <property name="markerInterface" value="com.mobile.mapper.SqlMapper"/>  
  77.     </bean>-->  
  78.  </beans>  


jdbc.properties

[plain] view plain copy
  1. db.driver=oracle.jdbc.driver.OracleDriver  
  2. db.url=jdbc:oracle:thin:@localhost:1521:orcl  
  3. db.username=  
  4. db.password=  
  5. db.alias=OraclePool  
  6. db.minIdle=5  
  7. db.maxIdle=10  
  8. db.maxWait=5  
  9. db.maxActive=20  
  10. db.initialSize=10  
  11. db.logWriter=  
  12. db.validationQuery=SELECT 1 FROM DUAL  


mybatis.xml

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
  3. "http://mybatis.org/dtd/mybatis-3-config.dtd">  
  4. <configuration>  
  5.     <!-- 别名 -->  
  6.     <typeAliases>  
  7.           
  8.     </typeAliases>  
  9. </configuration>  


struts.xml

[html] view plain copy
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE struts PUBLIC  
  3.     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  
  4.     "http://struts.apache.org/dtds/struts-2.0.dtd">  
  5. <struts>  
  6.     
  7.     <package name="my-default" abstract="true" extends="struts-default">  
  8.           
  9.     </package>  
  10.       
  11. </struts>  


到此为止,我们已经把框架整合到了一起。


 部署到tomcat运行。

  • 发表于 2017-11-13 16:53
  • 阅读 ( 1192 )
  • 分类:Java

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
- Nightmare

33 篇文章

作家榜 »

  1. 威猛的小站长 124 文章
  2. Jonny 65 文章
  3. 江南烟雨 36 文章
  4. - Nightmare 33 文章
  5. doublechina 31 文章
  6. HJ社区-肖峰 29 文章
  7. 伪摄影 22 文章
  8. Alan 14 文章