<!-- 事务管理器 -->
 <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
     <property name="sessionFactory">
         <ref bean="sessionFactory"/>
     </property>
 </bean>
 <!-- 事务拦截器,激活事务管理器所必须的bean -->
 <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> 
        <property name="transactionManager"> 
            <ref bean="transactionManager" /> 
        </property>  
        <!-- 配置事务属性 --> 
        <property name="transactionAttributes"> 
           <props> 
              <prop key="delete*">PROPAGATION_REQUIRED</prop> 
              <prop key="add*">PROPAGATION_REQUIRED</prop> 
              <prop key="update*">PROPAGATION_REQUIRED</prop> 
              <prop key="save*">PROPAGATION_REQUIRED</prop> 
              <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop> 
          </props> 
       </property> 
     </bean> 
     <!-- 定义事务处理代理bean,他需要两个属性,一个是指定需要代理的bean,另一个是代理bean所需的事务拦截器 -->
     <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> 
        <property name="beanNames"> 
           <list> 
              <value>tempService</value> 
           </list> 
        </property> 
        <property name="interceptorNames"> 
           <list> 
              <value>transactionInterceptor</value> 
           </list> 
        </property> 
     </bean>
    <!-- 业务逻辑层 -->
 <bean id="tempService"
  class="com.cj.transaction.service.TempService" abstract="false"
  lazy-init="default" autowire="default" dependency-check="default">
  <property name="userDAO">
   <ref bean="userDAO" />
  </property>
  <property name="deptDAO">
   <ref bean="deptDAO" />
  </property>
 </bean>
 <bean id="userDAO" class="com.cj.transaction.hibernate.UserDAO">
  <property name="sessionFactory">
   <ref bean="sessionFactory" />
  </property>
 </bean>
 <bean id="deptDAO" class="com.cj.transaction.hibernate.DeptDAO">
  <property name="sessionFactory">
   <ref bean="sessionFactory" />
  </property>
 </bean>

如果模块过多话,可以考虑用自动创建事务代理的方式
    <!-- 自动代理 --> 
    <bean id="autoproxy" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> 
       <property name="beanNames"> 
          <list> 
             <value>*Service</value> 
          </list> 
       </property> 
       <property name="interceptorNames"> 
          <list> 
             <value>transactionInterceptor</value> 
          </list> 
       </property> 
    </bean>

转载于:https://www.cnblogs.com/panjun-Donet/archive/2010/08/02/1790311.html

Spring Hibernate使用TransactionInterceptor声明式事务配置相关推荐

  1. 总结xml配置spring-aop声明式事务配置与hibernate报错:** isno active spring和hibernate整合,原因会话工厂去路(到spring不仅仅是bean)错误

    spring事务管理太厉害了!!可以不再自管事务开发了! spring aop声明式事务配置 问题: 困扰我近十多天的的spring事务管理终于解决了, 再也不用自己管理事务了 嗯,可以删该死的hib ...

  2. Spring声明式事务配置详解

    事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性.本文主要讲解事务涉及到一些概念以及spring中事务的使用.如有理解偏颇之处,恳请各位大神指正,小编不胜感激! 1.何为事务?   ...

  3. 【Spring】——声明式事务配置详解

    事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性.本文主要讲解事务涉及到一些概念以及spring中事务的使用.如有理解偏颇之处,恳请各位大神指正,小编不胜感激! 1.何为事务? 事 ...

  4. AspectJ声明式事务配置

    2019独角兽企业重金招聘Python工程师标准>>> Spring声明式事务配置,实现模拟转账过程 (AspectJ) 编程式事务要修改service层的代码,很少用,相比之下,A ...

  5. spring基于XML的声明式事务控制-配置步骤

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  6. Spring基于 XML 的声明式事务控制(配置方式)

    一.引入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...

  7. spring是如何实现声明式事务的

    前言 有好长一段时间没写文章了,之前一直在找工作,如今工作换好了,可以继续写文章了,今天我们来讲讲spring的声明式事务. 开始 说到声明式事务,我们现在回顾一下事务这个概念,什么是事务呢,事务指的 ...

  8. 【Spring】spring基于注解的声明式事务控制

    结构 domin package com.itheima.domain;import java.io.Serializable;public class Account implements Seri ...

  9. 【spring】spring基于xml的声明式事务控制

    结构 domain package com.itheima.domain;import java.io.Serializable;public class Account implements Ser ...

最新文章

  1. seaborn可视化直方图(histogram)、添加密度曲线、并自定义直方图中每一个条形的条形框的色彩(edgecolor)
  2. java 原子量_Java線程:新特征-原子量
  3. Metrics.NET源码阅读笔记
  4. void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)的一些理解
  5. flask框架创建数据库定义字段类型和字段常用参数
  6. 全景摄像技术大有可为
  7. Python——逻辑运算(or,and)
  8. ASP.NET Core——身份验证UI安装
  9. 10安装报错0x8007000d_windows10:MySQL8.0.22版本安装教程
  10. 按位与运算()和求余运算(%)的联系
  11. 生意经之王安论断:网店营销当机立断才能抓住机遇
  12. 明日之后什么服务器物品最便宜,明日之后:玩家晒物价最低的服务器,看到uzi标价,观众直接酸了...
  13. 为什么字节跳动的年薪50万的软件测试工程师遍地都是?
  14. springboot properties
  15. c语言y为奇数的关系表达,设y是int型,请写出y为奇数的关系表达式
  16. OpenCV-灰度图蒙版GrayMask
  17. PHP 验证码图片无法正常显示
  18. LightDB(pg) 通过DBeaver执行SQL发现SQL不能并行
  19. 影像质量评估之锐利度--MTF(SFR)
  20. 软件 测试员必会英语单词,软件测试人员必备的英语单词(一)

热门文章

  1. Linux wget 命令详解
  2. php文件上传参数设置
  3. solr学习之(七)_学习solr的理由(solr的特点和应用领域)
  4. 回《笔试常见的“阶乘”编程题,你写对了么?》
  5. Ajax.net显示错误信息
  6. openssl passwd之openssl命令详解
  7. 安卓 静态文件读取 staticFile
  8. 一、select查询
  9. DS博客作业08--课程总结
  10. POJ2976——Dropping tests(0/1分数规划)