Spring Hibernate使用TransactionInterceptor声明式事务配置
<!-- 事务管理器 -->
<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声明式事务配置相关推荐
- 总结xml配置spring-aop声明式事务配置与hibernate报错:** isno active spring和hibernate整合,原因会话工厂去路(到spring不仅仅是bean)错误
spring事务管理太厉害了!!可以不再自管事务开发了! spring aop声明式事务配置 问题: 困扰我近十多天的的spring事务管理终于解决了, 再也不用自己管理事务了 嗯,可以删该死的hib ...
- Spring声明式事务配置详解
事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性.本文主要讲解事务涉及到一些概念以及spring中事务的使用.如有理解偏颇之处,恳请各位大神指正,小编不胜感激! 1.何为事务? ...
- 【Spring】——声明式事务配置详解
事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性.本文主要讲解事务涉及到一些概念以及spring中事务的使用.如有理解偏颇之处,恳请各位大神指正,小编不胜感激! 1.何为事务? 事 ...
- AspectJ声明式事务配置
2019独角兽企业重金招聘Python工程师标准>>> Spring声明式事务配置,实现模拟转账过程 (AspectJ) 编程式事务要修改service层的代码,很少用,相比之下,A ...
- spring基于XML的声明式事务控制-配置步骤
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- Spring基于 XML 的声明式事务控制(配置方式)
一.引入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...
- spring是如何实现声明式事务的
前言 有好长一段时间没写文章了,之前一直在找工作,如今工作换好了,可以继续写文章了,今天我们来讲讲spring的声明式事务. 开始 说到声明式事务,我们现在回顾一下事务这个概念,什么是事务呢,事务指的 ...
- 【Spring】spring基于注解的声明式事务控制
结构 domin package com.itheima.domain;import java.io.Serializable;public class Account implements Seri ...
- 【spring】spring基于xml的声明式事务控制
结构 domain package com.itheima.domain;import java.io.Serializable;public class Account implements Ser ...
最新文章
- seaborn可视化直方图(histogram)、添加密度曲线、并自定义直方图中每一个条形的条形框的色彩(edgecolor)
- java 原子量_Java線程:新特征-原子量
- Metrics.NET源码阅读笔记
- void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)的一些理解
- flask框架创建数据库定义字段类型和字段常用参数
- 全景摄像技术大有可为
- Python——逻辑运算(or,and)
- ASP.NET Core——身份验证UI安装
- 10安装报错0x8007000d_windows10:MySQL8.0.22版本安装教程
- 按位与运算()和求余运算(%)的联系
- 生意经之王安论断:网店营销当机立断才能抓住机遇
- 明日之后什么服务器物品最便宜,明日之后:玩家晒物价最低的服务器,看到uzi标价,观众直接酸了...
- 为什么字节跳动的年薪50万的软件测试工程师遍地都是?
- springboot properties
- c语言y为奇数的关系表达,设y是int型,请写出y为奇数的关系表达式
- OpenCV-灰度图蒙版GrayMask
- PHP 验证码图片无法正常显示
- LightDB(pg) 通过DBeaver执行SQL发现SQL不能并行
- 影像质量评估之锐利度--MTF(SFR)
- 软件 测试员必会英语单词,软件测试人员必备的英语单词(一)