Spirng事务的传播学习

事务传播:一个事务方法在被调用时,如何与现有事务的交互行为。当方法被事务性地调用时,他应该加入当前事务还是开启一个新事物。

常见的事务传播机制(7种):

Propagation枚举类,定义了传播机制和值:

PROPAGATION_REQUIRED:这是默认的传播方式。如果当前有事务,调用方法会加入当前事务;如果没有事务,会新建一个事务。适合大多数数据库操作,在一个事务的场景

PROPAGATION_REQUIRES_NEW:无论当前是否存在事务中,都会开启一个新事务。原来的事务会被挂起,直到新的事务执行完成。适合日志记录,外部API调用等不依赖主事务的操作

PROPAGATION_SUPPORTS:如果当前有事务,则加入该事务;如果没有事务,则以非事务的方式执行。适合可选事务的场景,例如只读的服务方法,是否在事务中执行无关紧要

PROPAGATION_NOT_SUPPORT:表示当前方法不需要事务,且如果存在事务,则将事务挂起。适合长时间操作或不需要事务管理的操作。

PROPAGATION_MANDATORY:要求必须在现有事务中执行,如果当前没有事务,则抛出异常。

适合必须在事务上下文中运行的方法

PROPAGATION_NEVER:禁止在事务内执行,如果存在事务就抛出异常。适合明确不希望某些操作在事务中时使用

PROPAGATION_NESTED:开启嵌套事务,如果外层事务回滚,嵌套事务也会回滚;但如果嵌套事务回滚,外层事务可以继续。适合部分操作需要独立回滚的复杂业务逻辑场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/446613.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

运放基础知识

特点: 1.频带过窄 2.线性范围小 加入负反馈之后 1.拓展频带 2.减小非线性失真 优点: 高增益,输入电阻大,输出电阻小 运放的U,U-都是相对于大地来说的,有些图中可能不画出来,但是需要明白 同时正负电源输入一般也省略 虚短与虚断的理解 当Uo是有限值时,注意到Uo Au*(…

5G NR UE初始接入信令流程

文章目录 5G NR UE初始接入信令流程 5G NR UE初始接入信令流程 用户设备向gNB-DU发送RRCSetupRequest消息。gNB-DU 包含 RRC 消息,如果 UE 被接纳,则在 INITIAL UL RRC MESSAGE TRANSFER 消息中包括为 UE 分配的低层配置,并将其传输到 gNB-CU…

图解Redis 03 | List数据类型的原理及应用场景

介绍 List是一个简单的字符串列表,按照元素的插入顺序进行排序。您可以从头部或尾部添加元素到这个列表中。 列表的最大长度为2^32 - 1,即支持多达40亿个元素。 内部实现 List 类型的底层数据结构在 Redis 中可以采用双向链表或压缩列表(ziplist)&…

vue3之插件

插件plugins是一种能为vue添加全局功能的代码,官网连接:https://cn.vuejs.org/guide/reusability/plugins.html 项目的src文件夹下新建plugins文件夹 新建i18n.js文件 插件是一个拥有install方法的对象 export default {install: (app, options)>{app.config.…

基于SSM+Vue+MySQL的少儿编程网上报名系统

系统展示 用户前台界面 管理员后台界面 系统背景 在当下,随着国家对教育的重视以及教育部门对教育改革的不断推进,少儿编程教育逐渐成为了一个热门领域。传统的少儿编程报名方式往往依赖于线下填写纸质表格或电话报名,这种方式不仅效率低下&a…

开发日志:IIS安全配置

为了解决IIS文件路径泄漏问题,可以采取以下措施: 一. 详细操作 1. CMD关闭NTFS 8.3文件格式的支持 命令行:fsutil 8dot3name set 1 2. 修改注册表禁用短文件名功能 CMD输入regedit回车,在注册表中找到HKEY_LOCAL_MACHINE\SYSTEM\C…

PHP政务招商系统——高效连接共筑发展蓝图

政务招商系统——高效连接,共筑发展蓝图 🏛️ 一、政务招商系统:开启智慧招商新篇章 在当今经济全球化的背景下,政务招商成为了推动地方经济发展的重要引擎。而政务招商系统的出现,更是为这一进程注入了新的活力。它…

【Java】I/O 操作详解

📃个人主页:island1314 ⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 目录 1. 引言 🚀 2. File 类 📕 2.1 创建 File 对象 …

Golang | Leetcode Golang题解之第472题连接词

题目: 题解: type trie struct {children [26]*trieisEnd bool }func (root *trie) insert(word string) {node : rootfor _, ch : range word {ch - aif node.children[ch] nil {node.children[ch] &trie{}}node node.children[ch]}node.isE…

Qt-系统网络TCP回显客户端与服务端(65)

目录 描述 函数 使用 服务器 准备工作 声明相关函数与对象 绑定并监听 定义槽函数与连接 瑕疵 释放 客户端 准备工作 声明相关函数与对象 初始化并连接服务器 给发送添加槽函数 连接信号槽处理响应函数 测试运行 补充 代码 客户端 服务器 描述 有UDP&…

MySQL 删除数据库

1.使用命令行删除一个数据库 1.1 首先登陆进入 MySQL 操作界面,命令如下: 命令 : mysql -utest -p;1.2 登陆成功之后可以使用如下命令查看当前已有数据库: 命令 : SHOW DATABASES; 执行结果如下图: 如图所示当前已包含 MySQL 系统数据库和…

TensorRT-LLM七日谈 Day3

今天主要是结合理论进一步熟悉TensorRT-LLM的内容 从下面的分享可以看出,TensorRT-LLM是在TensorRT的基础上进行了进一步封装,提供拼batch,量化等推理加速实现方式。 下面的图片更好的展示了TensorRT-LLM的流程,包含权重转换&…

iPhone 16 Pro 拆解揭秘:设计改进与维修便利性

苹果最新推出的iPhone 16系列在许多方面都进行了更新和改进,而这次我们要聚焦的是其中的高端型号——iPhone 16 Pro。 这款手机不仅在性能上有所提升,在内部构造上也带来了不少变化,让我们一起来看看这些细节吧。 更容易进入的内部结构 对于…

一、Java基础

韩顺平Java基础 浮点型使用细节基本数据类型转换自动类型转换强制类型转换 浮点型使用细节 double d 8.1 / 3 的结果是一个非常接近2.7的小数,比如2.69999997,这是计算机的运算规则造成的 基本数据类型转换 自动类型转换 对于第四点,如下…

电脑知识:适用于 Windows 10 的 PDF 编辑器列表

PDF 是一种流行的、多功能且安全的文件格式,用于在线共享文档。但是,如果没有合适的应用程序,查看和编辑 PDF 文件可能会变得复杂。 幸运的是,有很多 PDF 编辑器可以帮助您更正重要文档上的错误、填写表格、为合同添加签名、更改…

Unity3d折叠Inspector中的变量

InspectorFoldoutGroup插件 [Pixeye.Unity.Foldout("【曲线图】")] public BrokenLineUpDownGraph aimStabilityGraph;[Pixeye.Unity.Foldout("【曲线图】")] public BrokenLineUpGraph aimDensityGraph;[Pixeye.Unity.Foldout("【曲线图】")] p…

MedMamba代码解释及用于糖尿病视网膜病变分类

MedMamba原理和用于糖尿病视网膜病变检测尝试 1.MedMamba原理 MedMamba发表于2024.9.28,是构建在Vision Mamba基础之上,融合了卷积神经网的架构,结构如下图: 原理简述就是图片输入后按通道输入后切分为两部分,一部分走…

Spring Boot 应用开发:入门与实战

Spring Boot 应用开发:入门与实战 引言 Spring Boot 是 Spring 框架的一个子项目,旨在简化 Spring 应用的配置和开发。它通过自动配置和嵌入式服务器,极大地简化了 Java 企业级应用的开发。本文将详细介绍 Spring Boot 的核心概念&#xff…

JVM进阶调优系列(1)类加载器原理一文讲透

今天开始写JVM调优系列,并发编程系列也会继续穿插连载,让各位同学闲暇之余有更多阅读选择。 起笔写第一篇,并不好写。首先要构思整个系列的大概框架,一个好的框架一定是深度上由浅入深、逻辑上有严格顺序,读者订阅跟踪…

《OpenCV计算机视觉》—— 人脸检测

文章目录 一、人脸检测流程介绍二、用于人脸检测的关键方法1.加载分类器(cv2.CascadeClassifier())2.检测图像中的人脸(cv2.CascadeClassifier.detectMultiscale()) 三、代码实现 一、人脸检测流程介绍 下面是一张含有多个人脸的…