Spring MVC 事物配置

来源:互联网 发布:apache源码下载 编辑:程序博客网 时间:2024/06/08 13:32

Spring MVC 事物配置
spring-hibernate.xml如下:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns:tx="http://www.springframework.org/schema/tx"    xmlns:aop="http://www.springframework.org/schema/aop"    xsi:schemaLocation="        http://www.springframework.org/schema/beans             http://www.springframework.org/schema/beans/spring-beans-4.0.xsd        http://www.springframework.org/schema/context        http://www.springframework.org/schema/context/spring-context-4.0.xsd        http://www.springframework.org/schema/aop        http://www.springframework.org/schema/aop/spring-aop-4.0.xsd        http://www.springframework.org/schema/tx        http://www.springframework.org/schema/tx/spring-tx-4.0.xsd        ">    <!-- Hibernate4 -->    <!-- 加载资源文件  其中包含变量信息,必须在Spring配置文件的最前面加载,即第一个加载-->    <context:property-placeholder location="classpath:persistence-mysql.properties" />    <bean id="sessionFactory"         class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">        <property name="dataSource" ref="dataSource" />        <property name="packagesToScan">            <list>                <!-- 可以加多个包 -->                <value>com.lei.demo.entity</value>            </list>        </property>        <property name="hibernateProperties">            <props>                <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>                <prop key="hibernate.dialect">${hibernate.dialect}</prop>                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>                <!--  <prop key="hibernate.current_session_context_class">thread</prop> -->             </props>        </property>    </bean>    <!-- 数据库映射 -->    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">      <property name="driverClassName" value="${jdbc.driverClassName}" />      <property name="url" value="${jdbc.url}" />      <property name="username" value="${jdbc.user}" />      <property name="password" value="${jdbc.pass}" />   </bean>    <!-- 配置Hibernate事务管理器 -->    <bean id="transactionManager"        class="org.springframework.orm.hibernate4.HibernateTransactionManager">      <property name="sessionFactory" ref="sessionFactory" />   </bean>   <!-- 配置事务异常封装 -->   <bean id="persistenceExceptionTranslationPostProcessor"        class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />   <!--  声明式容器事务管理 ,transaction-manager指定事务管理器为transactionManager -->    <tx:advice id="txAdvice" transaction-manager="transactionManager">        <tx:attributes>            <tx:method name="add*" propagation="REQUIRED" />            <tx:method name="get*" propagation="REQUIRED" />            <tx:method name="*" read-only="true" />        </tx:attributes>    </tx:advice>    <aop:config expose-proxy="true">        <!-- 只对业务逻辑层实施事务 -->        <aop:pointcut id="txPointcut" expression="execution(* cn.com.infcn.irasauth.core7.service..*.*(..))" />        <!-- Advisor定义,切入点和通知分别为txPointcut、txAdvice -->        <aop:advisor pointcut-ref="txPointcut" advice-ref="txAdvice"/>    </aop:config></beans>
0 0