spring事务三大接口
1.事务三大接口
- PlatformTransactionManager 事务管理器
- TransactionDefinition 事务的一些基础信息,如超时时间、隔离级别、传播属性等
- TransactionStatus 事务的一些状态信息,如是否一个新的事务、是否已被标记为回滚
PlatformTransactionManager
//根据事务定义TransactionDefinition,获取事务
//提交事务
//回滚事务
事务定义接口TransactionDefinition
事务的定义包括: 事务的隔离级别,事务的传播属性,超时时间设置,是否只读
事务的隔离级别是数据库本身的事务功能,事务的传播属性则是spring为我们提供的功能
该接口的实现DefaultTransactionDefinition,默认的事务定义
1.事务的传播属性为PROPAGATION_REQUIRED,即当前没有事务的时候,创建一个,如果有则使用当前事务 2.事务的隔离级别采用底层数据库默认的隔离级别 3.超时时间采用底层数据库默认的超时时间 4.是否只读为false
事务接口定义 TransactionStatus
TransactionStatus它继承了SavepointManager接口,SavepointManager是对事务中上述保存点功能的封装,如下:
TransactionStatus本身更多存储的是事务的一些状态信息
是否是一个新的事物 是否有保存点 是否已被标记为回滚
整个流程:
@Autowired
private PlatformTransactionManager transactionManager;TransactionStatus status = null;
// 手动开启事务
status = transactionManager.getTransaction(new DefaultTransactionDefinition());// 事务提交
transactionManager.commit(status);// 事务回滚
if (StringMoreUtils.checkValNotNull(status)) {transactionManager.rollback(status);
}
spring事务三大接口相关推荐
- Spring有几种事务管理,Spring事务管理接口是什么
1,spring有两种事务管理方式:①编程式 ②声明式.编程式的比较灵活,但是代码量大,存在重复的代码比较多:而声明式事务管理比编程式更灵活方便. 基于AOP的声明式事务管理,实质就是在方法执行前后 ...
- Spring事务管理接口
Spring 的事务管理是基于 AOP 实现的,而 AOP 是以方法为单位的.Spring 的事务属性分别为传播行为.隔离级别.只读和超时属性,这些属性提供了事务应用的方法和描述策略. 在 Java ...
- 《深入理解分布式事务》第三章 Spring 事务的实现原理
<深入理解分布式事务>第三章 Spring 事务的实现原理 文章目录 <深入理解分布式事务>第三章 Spring 事务的实现原理 一.Spring 事务原理 1.JDBC 直接 ...
- 什么是事务的传播_这么漂亮的Spring事务管理详解,你不来看看?
事务概念回顾 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行. 事物的特性(ACID): 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用 ...
- 多数据源 事务管理_可能是最漂亮的Spring事务管理详解
事务概念回顾 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行. 事物的特性(ACID): 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用 ...
- batch spring 重复执行_可能是最漂亮的Spring事务管理详解
作者:Guide哥 事务概念回顾 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行. 事物的特性(ACID): 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完 ...
- Guide哥连夜赶的7000+字的Spring事务总结来啦!我饱了!
本文已经收录进 Github 75k+ Star 的Java项目JavaGuide .JavaGuide项目地址 : https://github.com/Snailclimb/JavaGuide . ...
- Spring事务管理详解
什么是事务 事务是逻辑上的一组操作,要么都执行,要么都不执行. 需要注意的是:事务能否生效数据库引擎是否支持事务是关键.比如常用的 MySQL 数据库默认使用支持事务的 innodb引擎.但是,如果把 ...
- spring 事务机制总结
目录 什么是事务? 事务的特性(ACID)了解么? 详谈 Spring 对事务的支持 Spring 管理事务的方式有几种? Spring 事务管理接口介绍 PlatformTransactionMan ...
最新文章
- YunTable 0.1版正式发布!!!(转载)
- oracle 中的几天后,几年后
- STM32那点事(3)_中断(上)
- android调试+及JNI相关
- 【渝粤教育】国家开放大学2019年春季 2106宪法学 参考试题
- 关于DM8168中移植算法速度慢、效率低的新发现
- 数控g71编程实例带图_数控车床g71编程实例带图 表面速度130m/min主轴
- 泛微云桥e-Bridge任意文件读取
- Strut2 界面标签和其他标签
- 各种内部排序方法及其比较实验报告
- python01g内存读取10g文件并排序_将大文件逐行读取到Python2.7中时的内存使用
- 计算机和电脑键盘进水怎么办,电脑键盘进水怎么办 电脑键盘进水解决方法
- 加油站踩踏式逃亡?电网成大赢家?时代抛弃你的时候,真的一声不吭
- 基于STM32的RGB调色器——STM32程序和Qt上位机全开源
- AUSU 安装Win10注意事项
- Java JNA (三)—— 结构体使用及简单示例
- 悖论在计算机中的应用,“索洛悖论”悖论 计算机影响随处可见
- XMLHttpRequest和referer
- QT/C++从新手到老手系列之QT中级篇-李浩林-专题视频课程
- quickdraw数据集下载
热门文章
- Docker热点文章链接 - 持续更新
- 顺利搭建了oracle
- 查看自己Android设备分辨率
- 活动目录服务器(windows server 2008)
- 在两个有序的数组中找第N个数,二分查找 O(lgm+lgn)级
- YUV422/420 format
- 集成ffmpeg/x264:ERROR: libx264 not found的问题
- HALCON示例程序train_characters_ocr.hdev使用SVM分类器训练字体
- 机器学习——常用核函数
- 学习笔记01:1.1 基于概率的信任