首页 > 编程语言 > 详细

Spring事务

时间:2019-09-27 12:22:18      阅读:91      评论:0      收藏:0      [点我收藏+]

事务有四个特性:ACID

A:原子性:要么全成功,要么全失败

C:一致性:所有的操作前后,总额不变

 I :隔离性:事务之间互不影响

D :持久性:事务一旦完成,无论出现什么错误,他的结果都不受影响

 

 

事务管理器:

Spring不直接管理事务,而是将这些事务委托给JTA,JDBC、Hibernate、JPA等持久化机制所提供的相关平台来实现

 

JDBC事务

SpringBoot只需引入jdbc.starter 依赖,就自动引入DataSourceTransactionManager

 

 

传播行为

传播行为,当一个事务方法被另外一个方法调用的时候,必须指定如何进行传播。

传播行为 含义
REQUIRED 当前方法必须运行在事务中。如果当前事务存在,方法会在该事务中运行,否则,会启动一个事务
SUPPORTS 如果当前有事务则加入,如果没有则不用事务
MANDATORY 支持当前事务,如果当前没有事务,则抛出异常。
REQUIRED_NEW 支持当前事务,如果当前有事务,则挂起当前事务,然后新创建一个事务,如果当前没有事务,则自己创建一个事务。
NOT_SUPPORTED 忽略当前事务
NEVER 以非事务方式执行,如果当前存在事务,则抛出异常。(当前必须不能有事务)
NESTED 如果当前存在事务,则嵌套在当前事务中。如果当前没有事务,则新建一个事务自己执行(和required一样)。嵌套的事务使用保存点作为回滚点,当内部事务回滚时不会影响外部事物的提交;但是外部回滚会把内部事务一起回滚回去。(这个和新建一个事务的区别)

 

 。。。。

 

Spring事务

原文:https://www.cnblogs.com/Jemb/p/11596914.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!