zoukankan      html  css  js  c++  java
  • struts2.3.20+spring4.0.2+hibernate4.3.4框架整合

    项目需求,整合新版本的SSH框架,记录一下以备后查

    下载链接:

    struts2.3.20

    spring4.0.2

    hibernate4.3.4

    其它依赖包

    各版本需要的包如下:

    struts2.3.20

    spring4.0.2

    hibernate4.3.4

    其它依赖包

    其中hibernate依赖包中包含了C3PO数据池的包c3p0-0.9.2.1.jar、hibernate-c3p0-4.2.16.Final.jar和mchange-commons-java-0.2.3.4.jar

    在其他依赖包中包含了DBCP数据池的包commons-dbcp-1.2.2.jar和commons-pool.jar

    可根据需要自行删减。其它依赖包中jxl.jar为操作Excel的包,mysql-connector-java-5.0.8-bin.jar为数据库驱动包

     配置说明:

    struts.xml配置

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
     3     "http://struts.apache.org/dtds/struts-2.3.dtd">
     4 <struts>
     5      <constant name="struts.objectFactory" value="spring"></constant>
     6      <constant name="struts.devMode" value="true"></constant>     
     7      <constant name="struts.multipart.saveDir" value="/upload"/>
     8      <constant name="struts.multipart.maxSize" value="824288000000"/>
     9      <constant name="struts.action.extension" value=","/>
    10 
    11      <package name="app-store-struts" extends="struts-default">         
    12          <action name="sc_*" class="ServerConnection" method="{1}"></action>
    13     </package>
    14     <package name="app-manage-struts" extends="struts-default"  namespace="/manage">
    15         <global-results>
    16             <result name="platformLoginPage" >/manage/xxxLogin.jsp</result>
    17             <result name="manageIndexPage" >/manage/index.jsp</result>
    18          </global-results>
    19         <action name="aa_*" class="xxxyAction" method="{1}"></action>
    20         <action name="admin_*" class="xxxAction" method="{1}">
    21            <result name="redirectIndexPage" type="redirectAction">
    22              <param name="actionName">admin_index</param>
    23              <param name="namespace">/manage</param>
    24            </result>
    25            <result name="toUserVisitPage">/manage/xxx.html</result>
    26         </action>
    27     </package>
    28 </struts>

    applicationContext.xml

    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <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" 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/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
    3     <import resource="applicationContextAction.xml"/>
    4     <import resource="applicationContextService.xml"/>
    5     <import resource="applicationContextDao.xml"/>
    6     <import resource="applicationContextHibernate.xml"/>
    7 </beans>

    applicationContextAction.xml、applicationContextService.xml和applicationContextDao.xml配置格式一致,如下

    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "../dtd/spring-beans-2.0.dtd" >
    3 
    4 <beans default-autowire="autodetect">
    5     <bean id="ServerConnection" class="com.xxx.ServerConnection" scope="prototype">
    6        <property name="xxService" ref="xxService"></property>
    7     </bean>
    8     ......
    9 </beans>

    applicationContextHibernate.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" 
      4        xmlns:context="http://www.springframework.org/schema/context" 
      5        xmlns:tx="http://www.springframework.org/schema/tx" 
      6        xmlns:aop="http://www.springframework.org/schema/aop" 
      7        xsi:schemaLocation="http://www.springframework.org/schema/beans  
      8                            http://www.springframework.org/schema/beans/spring-beans-4.0.xsd 
      9                            http://www.springframework.org/schema/context 
     10                            http://www.springframework.org/schema/context/spring-context-4.0.xsd 
     11                            http://www.springframework.org/schema/tx
     12                            http://www.springframework.org/schema/tx/spring-tx-4.0.xsd 
     13                            http://www.springframework.org/schema/aop 
     14                            http://www.springframework.org/schema/aop/spring-aop-4.0.xsd">    
     15     <!-- dbcp数据源,连接数据库 -->
     16     <bean id="dataSourcexxx" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
     17         <property name="driverClassName" value="com.mysql.jdbc.Driver" />
     18         <property name="url" value="jdbc:mysql://127.0.0.1:3306/xx" />
     19         <property name="username" value="xxx" />
     20         <property name="password" value="xxx" />
     21         
     22         <property name="initialSize" value="10"/><!-- 初始化连接 -->
     23         <property name="maxIdle" value="50"/><!-- 最大空闲连接 -->
     24         <property name="minIdle" value="10"/><!-- 最小空闲连接 -->
     25         <property name="maxActive" value="300"/><!-- 最大连接数量 -->
     26         <property name="logAbandoned" value="true"/><!-- 是否在自动回收超时连接的时候打印连接的超时错误 -->
     27         <property name="removeAbandoned" value="true"/><!-- 是否自动回收超时连接 -->
     28         <property name="removeAbandonedTimeout" value="180"/><!-- 超时时间(以秒数为单位) -->
     29         <property name="maxWait" value="1000"/> <!--超时等待时间以毫秒为单位 -->
     30         
     31         <property name="testOnBorrow" value="false"/> <!--  数据库连接池中取得连接时,对其的有效性进行检查 ,会影响一定性能-->
     32         <property name="testWhileIdle" value="true"/> <!--异步Evict的TimerTask定时线程进行控制  定时对线程池中的链接进行validateObject校验-->
     33         <property name="timeBetweenEvictionRunsMillis" value="25200000"/><!--失效检查线程运行时间间隔(毫米) 大于0才会开启evict检查线程-->
     34         <property name="validationQuery" value="select 1"/> <!-- 校验sql-->
     35     </bean>
     36     
     37     
     38     <!-- 连接数据源 -->
     39     <bean id="sessionFactoryxxx" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
     40         <property name="dataSource">
     41             <ref bean="dataSourcexxx"/>
     42         </property>
     43         <property name="mappingResources">
     44             <list>
     45                 <value>com/xxx/xxx.hbm.xml</value>
     46                 <value>com/xxx/xyyyy.hbm.xml</value>
     47             </list>
     48         </property>
     49         <property name="hibernateProperties">
     50             <props>
     51                 <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
     52                 <prop key="hibernate.show_sql">false</prop> 
     53                 <prop key="hibernate.cache.use_second_level_cache">true</prop> 
     54             </props>
     55         </property>
     56     </bean>
     57         <!-- spring aop的使用,控制事务 -->
     58     <!-- 配置事务管理器 -->
     59     <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
     60         <property name="sessionFactory">
     61             <ref bean="sessionFactoryxxx" />
     62         </property>
     63     </bean>
     64     <!-- 
     65     <tx:annotation-driven transaction-manager="transactionManager"/>
     66      -->
     67     <tx:advice id="TestAdvice" transaction-manager="transactionManager">
     68         <!--  配置事务传播特性(根据事务管理器配置通知) -->
     69         <tx:attributes>
     70             <tx:method name="save*" propagation="REQUIRED"  rollback-for="java.lang.Exception"/>
     71             <tx:method name="del*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
     72             <tx:method name="update*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
     73             <tx:method name="add*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
     74             <tx:method name="change*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
     75             <tx:method name="set*"  propagation="REQUIRED" rollback-for="java.lang.Exception"/>
     76             <tx:method name="insert*"  propagation="REQUIRED" rollback-for="java.lang.Exception"/>
     77             <tx:method name="new*"  propagation="REQUIRED" rollback-for="java.lang.Exception"/>
     78             <tx:method name="find*" propagation="REQUIRED" rollback-for="java.lang.Exception"/>
     79             <tx:method name="get*" propagation="REQUIRED" read-only="true" />
     80             <tx:method name="select*" propagation="REQUIRED"  read-only="true" />
     81             <tx:method name="list*" propagation="REQUIRED"  read-only="true" />
     82             <tx:method name="*" propagation="REQUIRED"/>
     83         </tx:attributes>
     84     </tx:advice>
     85     
     86     <!-- 配置参与所有service事务的类 -->
     87     <aop:config>
     88         <aop:pointcut id="allTestServiceMethod" expression="execution(* com.xxx.service.impl.*.*(..))||
     89         execution(* com.xxx.yyy.impl.*.*(..))" />
     90         <aop:advisor advice-ref="TestAdvice" pointcut-ref="allTestServiceMethod" />
     91     </aop:config>
     92         <!-- 配置日志记录的类 -->
     93         <bean id="logAspectService" class="com.xxx.log.LogAspect">
     94           <property name="logDao" ref="logDao"></property>
     95         </bean>
     96     <aop:config>
     97        <aop:pointcut id="logPointCut" 
     98        expression="execution(* com.xxx.service.impl.*.add*(..))||execution(* com.xxx.service.impl.*.del*(..))||execution(* com.xxx.service.impl.*.upd*(..))||execution(* com.xxx.service.impl.*.edit*(..))
     99        ||execution(* com.xxx.service.impl.*.remove*(..))||execution(* com.xxx.service.impl.*.master*(..))" />
    100        <aop:aspect id="logAspect" ref="logAspectService">
    101          <aop:after method="log" pointcut-ref="logPointCut"/>
    102        </aop:aspect>
    103     </aop:config>
    104 </beans>

     本文地址http://www.cnblogs.com/wangjiajun/p/4208326.html 

  • 相关阅读:
    maven搭建
    javascript
    FTP工具类
    jsp相关知识
    java mail 邮箱发送
    servlet相关
    hibernate文档
    6月
    Spring AOP 使用总结
    spring事务配置总结
  • 原文地址:https://www.cnblogs.com/wangjiajun/p/4208326.html
Copyright © 2011-2022 走看看