Spring声明式事务@Transactional传播行为

2023-11-07

在@Transactional注解中,可以propagation属性用来配置事务传播,支持7种不同的传播机制:

  1. REQUIRED:业务方法需要在一个事务中运行,如果方法运行时,已处在一个事务中,那么就加入该事务,否则自己创建一个新的事务。这是spring默认的传播行为。

  2. NOT_SUPPORTED:声明方法不需要事务。如果方法没有关联到一个事务,容器不会为他开启事务,如果方法在一个事务中被调用,该事务会被挂起,调用结束后,原先的事务会恢复执行。

  3. REQUIRESNEW:不管是否存在事务,该方法总会为自己发起一个新的事务。如果方法已经运行在一个事务中,则原有事务挂起,新的事务被创建。

  4. MANDATORY:该方法只能在一个已经存在的事务中执行,业务方法不能发起自己的事务。如果在没有事务的环境下被调用,容器抛出例外。

  5. SUPPORTS:该方法在某个事务范围内被调用,则方法成为该事务的一部分。如果方法在该事务范围外被调用,该方法就在没有事务的环境下执行。

  6. NEVER:该方法绝对不能在事务范围内执行。如果在就抛异常。只有该方法没有关联到任何事务,才正常执行。

  7. NESTED:如果一个活动的事务存在,则运行在一个嵌套的事务中。如果没有活动事务,则按REQUIRED属性执行。它使用了一个单独的事务,这个事务拥有多个可以回滚的保存点。内部事务的回滚不会对外部事务造成影响。它只对DataSourceTransactionManager事务管理器起效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring声明式事务@Transactional传播行为 的相关文章

  • AngularJs 表单发布数据在我的 spring 控制器中给出空值

    大家好 我正在尝试使用 Angular 发布表单 但我在 Spring 控制器中收到空值 此外 在我的控制台中 我看到 sysout 的空值 此外 即使我看到 bull 打印在我的控制台上 我也会收到错误警报 我的 JS 控制器 angul
  • Spring MVC 重定向到特定 url 的 jsp

    我正在将 Spring MVC 用于 AngularJS 项目 我从前缀为 rest 的 url 提供 JSON 服务 所有jsp文件都是直接访问的 路由是使用Angular js处理的 我需要在访问 jsp 文件之前进行自定义验证 对于其
  • Spring Boot 多部分文件上传

    我使用 Spring Boot 并希望使用控制器来接收分段文件上传 发送文件时我不断收到错误 415 不支持的内容类型响应并且从未到达控制器 There was an unexpected error type Unsupported Me
  • Spring Security登录返回404

    我目前正在使用 Spring 框架开发我的博客 我正在实现 Spring Security 用于登录目的 一切都按预期进行 直到我提交始终返回 404 代码的登录凭据 这是我的 web xml 代码e
  • 如何使用 Tomcat 启用浏览器缓存静态内容(图像、css、js)?

    如何使用 Tomcat 启用浏览器缓存静态内容 图像 css js 首选的解决方案是编辑 spring MVC 配置文件或 web xml 尝试 改变值
  • 使用 JPA 存储库保留 Spring Batch ItemWriter 的问题

    我对春季批次有疑问ItemWriter它依赖于 JPA 存储库来更新数据 这里是 Component public class MessagesDigestMailerItemWriter implements ItemWriter
  • 使用 API 密钥和机密保护 Spring Boot API

    我想保护 Spring Boot API 的安全 以便只有拥有有效 API 密钥和秘密的客户端才能访问它 但是 程序内部没有身份验证 使用用户名和密码的标准登录 因为所有数据都是匿名的 我想要实现的目标是所有 API 请求只能用于特定的第三
  • 有没有办法在@Service上使用@ControllerAdvice

    我有一个项目需求 但我没有任何需求 Controller or RestController但我需要为我的服务层提供一个全局异常处理程序 所以我需要配置 ControllerAdvice on Service 请告诉我是否还有其他方法可以做
  • Bean 属性不可读或具有无效的 getter 方法

    因此 我的任务是为注册表路由编写一个简单的 Web 应用程序 使用 Spring MVC 所以我有 路线 类 我想在其中保留起点 终点和中间点列表 但我不明白如何将值从 jsp 放入列表 例如使用 jstl 所以我决定解析一个字符串 pub
  • Spring 与 Thymeleaf 以 html 形式绑定日期

    我有一个简单的表单片段 例如
  • Spring MVC 和复选框

    我正在使用 Spring MVC 3 0 并且不能完全看到这个问题的所有部分 我的控制器将生成一个域对象列表 假设有一个简单的 User 对象 具有firstName lastName age 和role 属性 我想在表中输出该用户列表 每
  • Spring Data + QueryDSL 空谓词 + 谓词链

    让我开门见山 我在项目中使用 Spring Data JPA 和 QueryDSL 但我自己无法弄清楚这一点 我在静态方法中有 QueryDSL 谓词 可以接受参数 如果参数不正确 它应该返回 空谓词 public static Boole
  • 汉字编码?

    我有一个用例 我通过发布请求向 spring 控制器提交参数 在控制器中 我正在读取参数并执行一些操作 之后 我将这些参数作为请求参数的一部分发送到其他 URL 在这里我无法处理中文字符 它变得乱码 我现在正在做的行动 1 我将下面的中文文
  • Spring boot 404错误自定义错误响应ReST

    我正在使用 Spring boot 来托管 REST API 即使浏览器正在访问 URL 以及自定义数据结构 我也希望始终发送 JSON 响应 而不是使用标准错误响应 我可以使用 ControllerAdvice 和 ExceptionHa
  • 带有 @Scheduled Spring 注释的方法的切入点

    我想要一个带有注释的方法的 AspectJ 切入点 Scheduled 尝试了不同的方法但没有任何效果 1 Pointcut execution org springframework scheduling annotation Sched
  • 如何在 Spring Integration 流程中访问 Flux?

    我尝试访问 Spring Integration 中的 Flux 对象 而不将流声明拆分为两个函数 我想知道如何执行以下操作 Bean public IntegrationFlow mainFlow return IntegrationFl
  • Spring动态(可扩展)列表形式

    我在春季遇到动态表单问题 在我们的表单中 我们要指定一个标题 并添加一些问题 我们有一个 添加 按钮来添加问题输入表单 jquery 当需要时 我们的表格有一个问题字段 每次都会添加额外的字段 按下 添加 按钮 提交时似乎没有额外的字段 已
  • @PrePersist 在 Hibernate + Spring 环境中不能与 @MappedSuperclass 一起使用

    我正在使用专用存储库创建 注册新用户 Service public class RegistrationService Autowired private AppUserRepository appUserRepository Transa
  • Spring 如何在运行时获取有关“强类型集合”的泛型类型信息?

    我在 Spring 3 0 文档中阅读了以下内容 强类型集合 仅限 Java 5 在 Java 5 及更高版本中 您可以使用强类型集合 使用泛型类型 也就是说 可以声明一个 Collection 类型 使其只能包含 String 元素 例如
  • 使用 Java 8 Spring 4 + MyBatis 集成问题

    使用 Java 8 1 8 0 60 Spring 4 2 1 和 MyBatis 3 3 0 时遇到以下异常 Sep 29 2015 11 02 58 AM org springframework context annotation A

随机推荐

  • SpringBoot集成webservice

    前言 之前在工作中 有时候需要去对接第三方的医院 而很多医院的his系统用的都是老技术 WebService 一直在对接webservice接口 却不知道webservice接口是怎么实现的 这一次 我们来一探究竟 这里吐槽一句 都什么年代
  • 6.Android学习之Android事件处理和手势(一)

    目录 6 Android事件处理和手势 一 1 事件处理概述 1 1 基于监听的事件处理 1 2 基于回调的事件处理 2 物理按键事件处理 3 触摸屏事件处理 3 1 单击事件 3 2 长按事件 3 3 触摸事件 6 Android事件处理
  • 蓝桥杯真题:质数拆分

    这里 若干两两不同的质数之和 这里其实很容易想到首先我们要求出2019内的所有质数 这个打个表就好了 其次两两不同 我们应该要想到动态规划 这里设dp i j 表示前i个质数 可以两两不同加起来等于j的方案数 如果当前j gt prime
  • FinalShell连接不上ubuntu解决办法

    刚开始一直提示connection refused ubuntu没有自带SSH 安装即可 命令如下 sudo apt update 更新数据 sudo apt upgrade 更新软件 sudo apt install openssh se
  • 深度学习(1)-深度学习中的核函数(激活函数)

    1 核函数的作用 激活函数 核函数 kernel method kernel trick 是机器学习中一种重要的方法 一般定义是将原始表达转换到一个隐式特征空间去 该空间具有更好的特征可分性质 在机器学习中 一层线性卷积结构 一层核函数 N
  • 怎么把ipad中超大文件传输到电脑

    遇到了一个问题就是ipad文件中有几个超大压缩包需要传到电脑 想着上传到网盘在下载不是美滋滋 还特地借到了会员 为了上传大文件 但是网盘就很过分 会员在ipad端上传超过4g的文件也不允许 电脑端就没得问题 很无奈 然后问了度娘 给的各种解
  • LABVIEW2020 字符串连接的图标在哪里

    我是LABVIEW菜鸟 学习LABVIEW 2020已经3天了 找了几天都没有找到字符串连接的图标 今天终于找到了 标记一下
  • python smtplib.SMTP_SS发邮件提示550, b‘The “From“ header is missing or invalid

    发现网站不能注册新用户 报错提示 550 b The From header is missing or invalid Please follow RFC5322 RFC2047 RFC822 standard protocol http
  • React Native - Image组件的使用详解(加载资源、网络、本地图片)

    原文地址 http www hangge com blog cache detail 1542 html 一 Image组件介绍 同 HTML 的 img 元素一样 React Native 提供的 Image 组件可以用来显示各种途径的图
  • C. Bricks and Bags Codeforces Round #831 (Div. 1 + Div. 2)

    在经历了几天的卡题和没思路 看题解没看懂中终于把这一道题给磕了出来 感觉这题做不出的原因的没有想好极值的处理关系和太看重特殊情况而忽略了一般情况 传送门 题目 有A和B两个人 给你n个石头和3个袋子w1 w2 w3 每个石头都有自己的值 现
  • win10下安装Pytorch (CUDA9.1+CUDNN7.0)

    一 CUDA 下载地址 直接搜索便可找到 我下载的是9 1版本的 安装步骤 1 点击cuda 9 1 85 win10 exe安装 2 按顺序同意就好 3 完成 得到如下两个图标 4 官网下载时还有以下三个patch 反正我又顺次点开安装了
  • Mac 安装/更换node版本命令(值得收藏)

    Mac 安装 更换node版本命令 收集node指令 方便查找 在mac终端里面输入如下指令 全局安装n模块 sudo npm install n g 更新npm到最新版本 sudo npm install npm latest g 安装当
  • c++学习之多态

    多态分为两类 1 静态多态 函数重载和运算符重载属于静态多态 复用函数名 2 动态多态 派生类和虚函数实现运行时多态 静态多态和动态多态的区别 1 静态多态的函数地址早绑定 编译阶段确定函数地址 2 动态多态的函数地址晚绑定 运行阶段确定函
  • Cygwin环境变量设置(转载)

    开始运行bash之前 应该设置一些环境变量 cygwin提供了一个 bat文件 里面已经设置好了最重要的环境变量 通过它来启动bash是最安全的办法 这个 bat文件安装在cygwin所在的根目录下 可以随意编辑该文件 1 CYGWIN变量
  • java+selenium+new——杀掉windows的浏览器进程

    package rjcs import java util List import org openqa selenium os WindowsUtils import org openqa selenium By import org o
  • Shell脚本入门 01:格式与基础使用

    文章目录 目的 脚本格式 脚本使用 exit 命令 read 命令 组命令 总结 目的 通常在终端中操作Linux都是一行一行输入命令进行的 每输入一行执行后根据结果再输入下一条命令 这种操作在简单使用或是在单次使用中没什么问题 但是如果需
  • C语言赋值被截断,c语言中赋值截断

    在c语言中进行变量赋值的时候 如果将字节多的数据类型赋给一个占字节少的变量类型 会发生 截断 发生这种情况的原因是 在赋值过程中只将占字节较长的变量的地位赋给占字节较少的变量 如 int i 345 char c i c i 在进行c i赋
  • 区块链全节点与区块链轻节点的区别

    随着技术的发展更新 区块链上的交易也将日益增多 这也间接造成了区块链开发的数据容量越来越大 因为区块链的冗余备份 要求所有节点都需保存全量的数据文件 在这个节点间 假设有用户用自己创建一个区块链节点来进行DApp的开发 可又不想参与共识 那
  • 多智能体强化学习与博弈论-博弈论基础4

    多智能体强化学习与博弈论 博弈论基础4 本篇文章主要讲的是贝叶斯博弈 Bayesian Games 也称作不完全信息博弈 和拍卖理论 不完全信息博弈在我们生活中经常出现 比如拍卖 在市场和别人讨价还价等等 贝叶斯博弈 首先举一个贝叶斯博弈的
  • Spring声明式事务@Transactional传播行为

    在 Transactional注解中 可以propagation属性用来配置事务传播 支持7种不同的传播机制 REQUIRED 业务方法需要在一个事务中运行 如果方法运行时 已处在一个事务中 那么就加入该事务 否则自己创建一个新的事务 这是