通俗易懂的spring事务的传播机制讲解!
spring事务理解
前提两个都是事务的方法,并且两个方法会进行调用,调用方统一使用required
举例有两个方法:

- required
如果当前上下文存在事务,被调用方则加入该调用方的事务,没有的话就新建(指单独被调用时)一个事务
- supports
支持事务,上下文中有事务,被调用方则加入该事务,单独被调用时则没有事务
- mandatory
必须有事务,上下文有事务,被调用方则加入该事务,单独调用时直接抛异常,因为这时候没有一个活动的事务
- requires_new
被调用方会单独开启事务,调用方存在事务则将调用方挂起来,两个事务互不相干
- not_supported
总是非事务的方式执行,调用方调用时会直接被挂起
- never
总是非事务的方式执行,调用方调用时会直接抛异常
- nested
嵌套子事务,外层影响内层,内层不影响外层,除非外层try-catch并在catch中向外抛出异常
原文:https://blog.csdn.net/weixin_39625809/article/details/80707695
通俗易懂的spring事务的传播机制讲解!的更多相关文章
- 数据库的特性与隔离级别和spring事务的传播机制和隔离级别
首先数据库的特性就是 ACID: Atomicity 原子性:所有事务是一个整体,要么全部成功,要么失败 Consistency 一致性:在事务开始和结束前,要保持一致性状态 Isolation 隔离 ...
- Spring事务之传播机制
Spring事务传播机制:Spring在TransactionDefinition接口中规定了种类型的事务传播行为,它们规定了事务方法和事务方法发生嵌套时事务如何进行传播.即协调已经有事务标识的方法之 ...
- spring事务的传播机制新解
以下是事物的传播机制: @Transactional(propagation=Propagation.REQUIRED)如果有事务, 那么加入事务, 没有的话新建一个(默认情况下)@Transacti ...
- Spring事务的传播行为 @Transactional(转)
Spring事务的传播行为 在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例 ...
- Spring事务的传播行为 @Transactional
Spring事务的传播行为http://blog.csdn.net/cuker919/article/details/5957209 在service类前加上@Transactional,声明这个se ...
- 关于事务,事务的特性,spring事务的传播特性
1.什么是事务: 事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败). 2.事务特性: 事务特性分为四个:原子性(At ...
- Spring事务的传播特性和隔离级别
事务的几种传播特性1. PROPAGATION_REQUIRED: 如果存在一个事务,则支持当前事务.如果没有事务则开启2. PROPAGATION_SUPPORTS: 如果存在一个事务,支持当前事务 ...
- Spring事务的传播行为
本文主要介绍下Spring事务中的传播行为. 事务传播行为介绍 Spring中的7个事务传播行为: |事务行为|说明 | |:--|:--| |PROPAGATION_REQUIRED | 支持当 ...
- Spring事务的传播:PROPAGATION_REQUIRED
PROPAGATION_REQUIRED-- 支持当前事务,如果当前没有事务,就新建一个事务.这是最常见的选择. ServiceA { void methodA() { ServiceB.method ...
- Spring事务的传播行为分析
前言 最近项目有涉及到Spring事务,所以工作之余,想认真了解学习下Spring事务,查阅了若干资料,做了一个demo(PS:参考了大牛的). 现分享总结如下: 1.Spring 事务的简介 理解事 ...
随机推荐
- Jmeter一、开源软件的崛起
一.jmeter自身特点: 1.开源,轻量级,更适合自动化和持续集成. 2.学习难度大. 3.资料少.多英文. 二.性能测试工具选型的原则 1.成本: a.工具成本 b.学习成本 2.通信协议: a. ...
- Centos7部署PXE+Kickstart 实现批量安装操作系统
1.PXE环境概述 作为一名运维人员,在一些中小公司经常会遇到一些机械式的重复工作,比如:批量一次大批量的进行操作系统的安装等等.为了实现自动化运维,减少人员负担我们可以部署以下服务:Kickstar ...
- 用js获取当前路由信息的方法
1,设置或获取对象指定的文件名或路径.alert(window.location.pathname)2,设置或获取整个 URL 为字符串.alert(window.location.href);3,设 ...
- uniapp+uView搜索列表变颜色
首先看一下页面效果: <template> <view class="page"> <b-nav-bar title="公司多维图" ...
- sqlite3 replace函数服务器端替换一个字段中数据的例子 ;拼接字段字符串
1.把字段filePath中所有类似 '/usr/local/Trolltech/%'的字符串都替换成 '/zzzzz/' update EstDlpFileAttribute set ...
- springboot项目启动报错:找不到或无法加载主类 com....
springboot项目报错 找不到或无法加载主类 com.... 1.如果是导入的别人的项目 首先要配置好JDK 和 MAVEN 然后点击右侧栏的maven图标 --->点击clean(清除掉 ...
- 十大经典排序之桶排序(C++实现)
桶排序 桶排序是计数排序的升级版.它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定 思路: 根据数据规模,初始化合理桶数 将数列中的数据按照桶的规模进行映射,尽量保证数据被均匀的分布到桶 ...
- Java实现图片上传返回上传地址
**关于在实际开发中最常用也是用的最多的Java实现文档.图片上传.***一.准备阶段*文档.图片上传有几种方式,包括传统的ajax上传,云上传,这里给大家实现通过代码将图片上传至七牛云服务器并返回图 ...
- LeetCode 之 559. N叉树的最大深度
原题链接 思路: 递归计算每个子树的深度,返回最大深度即可 python/python3: class Solution(object): def maxDepth(self, root): &quo ...
- hdu: You Are the One(区间DP)
Problem Description The TV shows such as You Are the One has been very popular. In order to meet the ...