JavaWeb——Spring事务管理

news2024/10/8 11:52:14

六、Spring事务管理

1. 注解

注解:@Transactional

位置:业务(service)层的方法上、类上、接口上——一般在执行多条增删改方法上加

作用:将当前方法交给spring进行事务管理,方法执行前,开启事务;成功执行完毕,提交事务;出现异常,回滚事务

开启事务管理日志配置

#spring事务管理日志
logging:
  level:
    org.springframework.jdbc.support.JdbcTransactionManager: debug

2. rollbackFor—事务回滚

@Transactional的属性

默认情况下,只有出现RuntimeException才回滚异常。rollbackFor属性用于控制出现何种异常类型,回滚事务

@Transactional(rollbackFor = Exception.class)——只要出现异常就回滚

3. propagation—传播行为

事务传播行为:当一个事务方法被另一个事务方法调用时,这个事务方法应该如何进行事务控制

在这里插入图片描述

场景:

  • REQUIRED:大部分情况
  • REQUIRES_NEW:当我们不希望事务之间相互影响时,可以使用该传播行为。比如:下订单前需要记录日志,不论订单保存成功与否,都需要保证日志记录能够记录成功。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编程语言的语法糖,你了解多少?

什么是语法糖 语法糖是一种编程语言的特性,通常是一些简单的语法结构或函数调用,它可以通过隐藏底层的复杂性,并提供更高级别的抽象,从而使代码更加简洁、易读和易于理解,但它并不会改变代码的执行方式。 为什么需要语…

(aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器

1. 背景介绍 在先前的博客文章中,我们已经搭建了一个基于SRS的流媒体服务器。现在,我们希望通过Web接口来控制这个服务器的行为,特别是对于正在进行的 RTSP 转码任务的管理。这将使我们能够在不停止整个服务器的情况下,动态地启动…

OPPO Find X7 Ultra 发布,搭载双潜望四主摄摄影技术

2024年1月8日,深圳——OPPO发布旗舰Find X7 Ultra,定义移动影像的终极形态。Find X7 Ultra 首创的双潜望四主摄构成哈苏大师镜头群,以六个光学品质焦段提供目前手机最强大、品质最高的多摄变焦能力。首次搭载专为超光影图像引擎定制的一英寸传…

基于黑猩猩算法优化的Elman神经网络数据预测 - 附代码

基于黑猩猩算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于黑猩猩算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于黑猩猩优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要&#x…

Halcon灰度的平均值和偏差intensity

Halcon灰度的平均值和偏差 intensity 算子用于计算单张图像上多个区域的灰度值的平均值和偏差。该算子的原型如下: intensity (Regions, Image ::: Mean, Deviation )其各参数的含义如下。 参数1:Regions(输入参数),…

Golang : Bson\Json互转

代码 package bson_jsonimport ("encoding/json""errors""fmt""gopkg.in/mgo.v2/bson""os""testing" )type User struct {Name string json:"name,omitempty" bson:"name,omitempty"CSD…

探讨一下WebINFO 下的一些思考

在平时的开发中,我们经常看到一个/WEB-INF 这个目录,这个是web 容器初始化加载的一个标准路径。官方解释:WEB-INF 是 Java 的 web 应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。也就是说,这…

虾皮上传产品软件:如何使用虾皮平台上传产品

在虾皮(Shopee)平台上,卖家可以通过多种方法来上传产品,以简化商品上架过程。本文将介绍一些常用的产品上传方法,帮助卖家选择最适合自己的方式。 先给大家推荐一款shopee知虾数据运营工具 知虾免费体验地址&#xff…

【MATLAB】ICEEMDAN_LSTM神经网络时序预测算法

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 ICEEMDAN-LSTM神经网络时序预测算法是一种结合了改进的完全扩展经验模态分解(ICEEMDAN)和长短期记忆神经网络(LSTM)的时间序列预测方法。 …

xss-labs(1-5)

环境准备: 靶场下载:下载仓库 zhangmanhui/xss-labs - Gitee.com 启动phpStudy 搭建将文件解压拉到phpStudy的www目录下就行 最后直接访问:127.0.0.1/xss-labs-master/ 最后再准备一个浏览器的插件用来发送请求:HackBar 插件都配置好了,直接加载到你的浏览器的扩展…

了解激光打标机:技术原理、应用领域与优势

激光打标机是一种利用激光技术进行打标的高科技设备。其技术原理是,通过将高能量密度的激光照射在工件表面,使表面的材料发生物理或化学变化,从而形成永久性的标记。下面将分别介绍激光打标机的技术原理、应用领域和优势。 一、技术原理 激光…

【Verilog】组合电路的设计和时序电路的设计

系列文章 数值(整数,实数,字符串)与数据类型(wire、reg、mem、parameter) 运算符 数据流建模 行为级建模 结构化建模 系列文章组合电路的设计时序电路的设计 组合电路的设计 组合电路的特点是&#xff0c…

python(17)--文件的输入/输出

前言 在Python中,文件文本操作是非常重要的,主要有以下几个原因: 数据持久性:当你需要长期存储数据,如用户的个人信息、交易记录或数据库元数据等,将数据保存在文件中是一种常见的方法。文件系统提供了持…

STL容器之vector基本操作

目录 vector基本操作 vector构造函数 vector的遍历操作 1.重载[ ]进行遍历。 2.使用迭代器进行遍历。 3.使用范围for循环进行遍历。 4.使用at成员函数进行遍历 。 vector空间增长 1.size:获取当前元素的个数。 2.capacity:获取能存储的元素的个…

ceres在优化过程中保持指定参数块不变

ceres在优化过程中保持指定参数块不变 在solve前利用SetParameterBlockConstant()设置想固定不变的参数块 example: //添加误差方程 ceres::CostFunction* cost_function nullptr;cost_function BundleAdjustmentGCPsCostFunction::Create(px, py, ptGCP.second.x_c, ptGC…

kettle分页抽取数据

背景 kettle抽取数据大家还是比较熟悉的,kettle在抽取数据的时候会开启很多通道,同时抽取,但是我现在遇到一个场景: 从一个mysql数据库里获取“已办”状态的数据id,然后拿这些id去一个oracle数据库里查询&#xff0c…

CCNP课程实验-06-EIGRP-Trouble-Shooting

目录 实验条件网络拓朴 环境配置开始排错错误1:没有配置IP地址,IP地址宣告有误错误2:R3配置了与R1不同的K值报错了。错误3:R4上的AS号配置错,不是1234错误4:R2上配置的Key-chain的R4上配置的Key-chain不一致…

3.7 THREAD SCHEDULING AND LATENCY TOLERANCE

线程调度严格来说是一个实现概念。因此,它必须在特定硬件实现的背景下进行讨论。在迄今为止的大多数实现中,分配给SM的块被进一步分为32个称为warps的线程单元。warps的大小是特定于实现的。warps不是CUDA规范的一部分;然而,了解w…

python+playwright 学习-1.环境准备与快速开始

前言 说到 web 自动化,大家最熟悉的就是 selenium 了,selenium 之后又出现了三个强势的框架Puppeteer、CyPress、TestCafe, 但这3个都需要掌握 JavaScript 语言,所以只是少部分人在用。 2020年微软开源一个 UI 自动化测试工具 P…

基于供需算法优化的Elman神经网络数据预测 - 附代码

基于供需算法优化的Elman神经网络数据预测 - 附代码 文章目录 基于供需算法优化的Elman神经网络数据预测 - 附代码1.Elman 神经网络结构2.Elman 神经用络学习过程3.电力负荷预测概述3.1 模型建立 4.基于供需优化的Elman网络5.测试结果6.参考文献7.Matlab代码 摘要:针…