Spring3.0.5+Mybatis3.0.5+Struts2.0.6整合

出处:http://31841814.iteye.com/blog/1124111

 

废话不多说,直接上配置文件
Mybatis配置文件,这个配置文件主要是为了加载Mybatis分页拦截器,可以使用基于Dilect的方言进行分页
Xml代码 复制代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2. <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">  
  3. <configuration>  
  4.  <plugins>  
  5.    <plugin interceptor="com.ncu.app.PageInterceptor">  
  6.     <property name="dbtype" value="mysql"/>  
  7.    </plugin>  
  8.  </plugins>      
  9.        
  10. </configuration>  

Spring的配置文件,事务由Spring管理,Mapper的装配也由Spring管理,实体的别名也由sessionFactory自动扫描,由于Spring没有提供对Mybatis的支持,这里使用Mybatis团队开发的Spring整合包
Xml代码 复制代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"  
  4.     xmlns:tx="http://www.springframework.org/schema/tx" xmlns:jdbc="http://www.springframework.org/schema/jdbc"  
  5.     xmlns:context="http://www.springframework.org/schema/context"  
  6.     xsi:schemaLocation="   
  7.      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd   
  8.      http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
  9.      http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.0.xsd   
  10.      http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd   
  11.      http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">  
  12.        
  13.      <!--加载 JDBC 配置文件 -->  
  14.     <context:property-placeholder location="classpath:config/jdbc.properties" />  
  15.         
  16.      <!-- 数据源以及proxool连接池配置 -->  
  17.     <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">  
  18.         <property name="alias" value="proxoolpool"></property>  
  19.         <property name="delegateProperties">  
  20.             <value>user=${jdbc.username},password=${jdbc.password}</value>  
  21.         </property>  
  22.         <property name="user" value="${jdbc.username}" />  
  23.         <property name="password" value="${jdbc.password}" />  
  24.         <property name="driver" value="${jdbc.driverClassName}" />  
  25.         <property name="driverUrl" value="${jdbc.url}" />  
  26.         <property name="houseKeepingSleepTime">  
  27.             <value>90000</value>  
  28.         </property>  
  29.         <property name="trace">  
  30.             <value>true</value>  
  31.         </property>  
  32.         <property name="maximumConnectionCount">  
  33.             <value>100</value>  
  34.         </property>  
  35.         <property name="prototypeCount">  
  36.             <value>5</value>  
  37.         </property>  
  38.         <property name="houseKeepingTestSql" value="select CURRENT_DATE" />  
  39.     </bean>  
  40.   
  41.     <!-- 定义事务管理,数据源为Session工厂的数据源 -->  
  42.     <bean id="transactionManager"  
  43.         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
  44.         <property name="dataSource" ref="dataSource" />  
  45.     </bean>  
  46.   
  47.     <!-- 定义Spring扫描包的路径 -->  
  48.     <context:component-scan base-package="com.ncu.app" />  
  49.   
  50.     <!-- 启用自动装配 -->  
  51.     <context:annotation-config />  
  52.   
  53.     <!-- 启用事务注解 -->  
  54.     <tx:annotation-driven />  
  55.        
  56.      <!-- 定义Mybatis的Session工厂,typeAliasesPackage为entity包全名,多个用逗号或者分号隔开 -->  
  57.     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
  58.         <property name="dataSource" ref="dataSource" />     
  59.         <property name="typeAliasesPackage" value="com.ncu.app.entity.example" />    
  60.         <property name="configLocation" value="classpath:config/mybatis.xml" />      
  61.     </bean>  
  62.     
  63.     <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">  
  64.         <constructor-arg index="0" ref="sqlSessionFactory" />  
  65.     </bean>  
  66.   
  67.      <!-- 定义所要扫描的Mapper配置文件包路径,多个包用逗号或者分号隔开 -->  
  68.     <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
  69.         <property name="basePackage" value="com.ncu.app.dao.example" />  
  70.     </bean>  
  71.   
  72. </beans>  

Struts配置文件,这个没什么特别的,只是定义了需要包含的配置文件
Xml代码 复制代码  收藏代码
  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.   
  6. <struts>  
  7.     <constant name="struts.objectFactory" value="spring" />      
  8.   
  9.     <!-- 需要包含的struts配置文件添加到这 -->  
  10.     <include file="struts_config/example.xml"/>  
  11.                
  12. </struts>  

这里可以看到Action已经是由Spring管理的
Xml代码 复制代码  收藏代码
  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.   
  6. <struts>  
  7.     <package name="example" namespace="/test" extends="struts-default">          
  8.         <action name="*_*" method="{2}" class="{1}Action">             
  9.             <result name="list">/WEB-INF/jsp/{1}/{1}_list.jsp</result>         
  10.         </action>  
  11.         <!-- Add actions here -->  
  12.     </package>  
  13. </struts>  

最后是整合的Web配置文件,比较常用的,不再啰嗦
Xml代码 复制代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">  
  3.   <display-name>SSIFramework</display-name>  
  4.      
  5.        
  6.   <!-- 系统过滤器配置-->  
  7.   <filter>  
  8.     <filter-name>SystemFilter</filter-name>  
  9.     <filter-class>com.ncu.app.filter.SystemFilter</filter-class>  
  10.   </filter>  
  11.   <filter-mapping>  
  12.     <filter-name>SystemFilter</filter-name>  
  13.     <url-pattern>/*</url-pattern>  
  14.   </filter-mapping>  
  15.      
  16.   <!-- 配置登陆过滤器-->  
  17.   <filter>  
  18.     <filter-name>LoginFilter</filter-name>  
  19.     <filter-class>com.ncu.app.filter.LoginFilter</filter-class>  
  20.   </filter>  
  21.   <filter-mapping>  
  22.     <filter-name>LoginFilter</filter-name>  
  23.     <url-pattern>/*</url-pattern>  
  24.   </filter-mapping>  
  25.      
  26.   <!-- 查询页码过滤器-->  
  27.   <filter>  
  28.     <filter-name>PageNumberFilter</filter-name>  
  29.     <filter-class>com.ncu.app.filter.PageNumberFilter</filter-class>  
  30.   </filter>  
  31.   <filter-mapping>  
  32.     <filter-name>PageNumberFilter</filter-name>  
  33.     <url-pattern>*.do</url-pattern>  
  34.     <url-pattern>*.action</url-pattern>  
  35.     <url-pattern>*.htm</url-pattern>  
  36.   </filter-mapping>  
  37.      
  38.     <!-- Spring log4j配置 -->    
  39.   <context-param>  
  40.     <param-name>webAppRootKey</param-name>  
  41.     <param-value>ssi.root</param-value>  
  42.   </context-param>  
  43.   <context-param>  
  44.       <param-name>log4jRefreshInterval</param-name>  
  45.       <param-value>3000</param-value>  
  46.  </context-param>  
  47.   <context-param>  
  48.        <param-name>log4jConfigLocation</param-name>  
  49.        <param-value>WEB-INF/classes/config/log4j.properties</param-value>  
  50.   </context-param>  
  51.   <listener>  
  52.        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>  
  53.   </listener>  
  54.      
  55.      
  56.   <!-- Struts配置,必须在所有过滤器后面,否则前面过滤器无法生效 -->      
  57.   <filter>  
  58.     <filter-name>struts2</filter-name>  
  59.     <filter-class>    
  60.     org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter    
  61.         </filter-class>  
  62.   </filter>  
  63.   <filter-mapping>  
  64.     <filter-name>struts2</filter-name>  
  65.     <url-pattern>/*</url-pattern>  
  66.   </filter-mapping>  
  67.      
  68.   <!-- Spring配置 -->    
  69.   <context-param>  
  70.     <param-name>contextConfigLocation</param-name>  
  71.     <param-value>    
  72.         classpath*:config/applicationContext*.xml    
  73.     </param-value>  
  74.   </context-param>  
  75.   <listener>  
  76.     <display-name>SpringListenner</display-name>  
  77.     <listener-class>  
  78.         org.springframework.web.context.ContextLoaderListener   
  79.     </listener-class>  
  80.   </listener>  
  81.      
  82.   
  83.      
  84.   <welcome-file-list>  
  85.     <welcome-file>index.html</welcome-file>  
  86.     <welcome-file>index.htm</welcome-file>  
  87.     <welcome-file>index.jsp</welcome-file>  
  88.     <welcome-file>default.html</welcome-file>  
  89.     <welcome-file>default.htm</welcome-file>  
  90.     <welcome-file>default.jsp</welcome-file>  
  91.   </welcome-file-list>  
  92. </web-app>  

由于只是测试,所以在分页方面都没有去处理,可以自行引入dialect实现方言的分页
已附上源码

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值