1.事务三大接口

  1. PlatformTransactionManager 事务管理器
  2. TransactionDefinition 事务的一些基础信息,如超时时间、隔离级别、传播属性等
  3. 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事务三大接口相关推荐

  1. Spring有几种事务管理,Spring事务管理接口是什么

    1,spring有两种事务管理方式:①编程式  ②声明式.编程式的比较灵活,但是代码量大,存在重复的代码比较多:而声明式事务管理比编程式更灵活方便. 基于AOP的声明式事务管理,实质就是在方法执行前后 ...

  2. Spring事务管理接口

    Spring 的事务管理是基于 AOP 实现的,而 AOP 是以方法为单位的.Spring 的事务属性分别为传播行为.隔离级别.只读和超时属性,这些属性提供了事务应用的方法和描述策略. 在 Java ...

  3. 《深入理解分布式事务》第三章 Spring 事务的实现原理

    <深入理解分布式事务>第三章 Spring 事务的实现原理 文章目录 <深入理解分布式事务>第三章 Spring 事务的实现原理 一.Spring 事务原理 1.JDBC 直接 ...

  4. 什么是事务的传播_这么漂亮的Spring事务管理详解,你不来看看?

    事务概念回顾 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行. 事物的特性(ACID): 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用 ...

  5. 多数据源 事务管理_可能是最漂亮的Spring事务管理详解

    事务概念回顾 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行. 事物的特性(ACID): 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用 ...

  6. batch spring 重复执行_可能是最漂亮的Spring事务管理详解

    作者:Guide哥 事务概念回顾 什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行. 事物的特性(ACID): 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完 ...

  7. Guide哥连夜赶的7000+字的Spring事务总结来啦!我饱了!

    本文已经收录进 Github 75k+ Star 的Java项目JavaGuide .JavaGuide项目地址 : https://github.com/Snailclimb/JavaGuide . ...

  8. Spring事务管理详解

    什么是事务 事务是逻辑上的一组操作,要么都执行,要么都不执行. 需要注意的是:事务能否生效数据库引擎是否支持事务是关键.比如常用的 MySQL 数据库默认使用支持事务的 innodb引擎.但是,如果把 ...

  9. spring 事务机制总结

    目录 什么是事务? 事务的特性(ACID)了解么? 详谈 Spring 对事务的支持 Spring 管理事务的方式有几种? Spring 事务管理接口介绍 PlatformTransactionMan ...

最新文章

  1. YunTable 0.1版正式发布!!!(转载)
  2. oracle 中的几天后,几年后
  3. STM32那点事(3)_中断(上)
  4. android调试+及JNI相关
  5. 【渝粤教育】国家开放大学2019年春季 2106宪法学 参考试题
  6. 关于DM8168中移植算法速度慢、效率低的新发现
  7. 数控g71编程实例带图_数控车床g71编程实例带图 表面速度130m/min主轴
  8. 泛微云桥e-Bridge任意文件读取
  9. Strut2 界面标签和其他标签
  10. 各种内部排序方法及其比较实验报告
  11. python01g内存读取10g文件并排序_将大文件逐行读取到Python2.7中时的内存使用
  12. 计算机和电脑键盘进水怎么办,电脑键盘进水怎么办 电脑键盘进水解决方法
  13. 加油站踩踏式逃亡?电网成大赢家?时代抛弃你的时候,真的一声不吭
  14. 基于STM32的RGB调色器——STM32程序和Qt上位机全开源
  15. AUSU 安装Win10注意事项
  16. Java JNA (三)—— 结构体使用及简单示例
  17. 悖论在计算机中的应用,“索洛悖论”悖论 计算机影响随处可见
  18. XMLHttpRequest和referer
  19. QT/C++从新手到老手系列之QT中级篇-李浩林-专题视频课程
  20. quickdraw数据集下载

热门文章

  1. Docker热点文章链接 - 持续更新
  2. 顺利搭建了oracle
  3. 查看自己Android设备分辨率
  4. 活动目录服务器(windows server 2008)
  5. 在两个有序的数组中找第N个数,二分查找 O(lgm+lgn)级
  6. YUV422/420 format
  7. 集成ffmpeg/x264:ERROR: libx264 not found的问题
  8. HALCON示例程序train_characters_ocr.hdev使用SVM分类器训练字体
  9. 机器学习——常用核函数
  10. 学习笔记01:1.1 基于概率的信任