JavaWeb——Spring事务管理

六、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.mfbz.cn/a/302380.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决:已经安装open3d,还是报错No module named ‘open3d‘的问题

首先示例,我是如何安装又是如何被报错的过程。 报错过程: 网上普遍的安装指令就是下面这个: pip install open3d 我是直接python页面的终端安装的: 安装完,检查列表已安装文件是否有open3d, 输入指令 …

听GPT 讲Rust源代码--compiler(12)

File: rust/compiler/rustc_data_structures/src/graph/dominators/mod.rs 文件mod.rs位于Rust编译器源代码中的rustc_data_structures/src/graph/dominators目录下。这个文件的作用是实现支配树(dominator tree)的计算算法。 在编译器优化中&#xff0c…

Hotspot源码解析-第十五章-类加载器初始化前期准备

15.1 ClassLoader初始化 15.1.1 classLoader.cpp 15.1.1.1 classLoader_init void classLoader_init() {ClassLoader::initialize(); }void ClassLoader::initialize() {assert(_package_hash_table NULL, "should have been initialized by now.");EXCEPTION_MA…

Spring学习 Spring整合MyBatis

6.1.创建工程 6.1.1.pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.ap…

3.9 EXERCISES

矩阵加法需要两个输入矩阵A和B&#xff0c;并产生一个输出矩阵C。输出矩阵C的每个元素都是输入矩阵A和B的相应元素的总和&#xff0c;即C[i][j] A[i][j] B[i][j]。为了简单起见&#xff0c;我们将只处理元素为单精度浮点数的平方矩阵。编写一个矩阵加法内核和主机stub函数&am…

C语言详解之一维数组二维数组以及变长数组

一周新的开始&#xff0c;今天的你学习了吗&#xff1f; 前言 今天打算把数组的相关知识知识复习一下&#xff0c;比如初始化&#xff0c;调用&#xff0c;以及他和指针的关系等等 数组是什么 数组是一种数据结构&#xff0c;它由相同类型的元素组成&#xff0c;并按照一定的…

Spring学习 Spring AOP

4.Spring AOP 4.1.为什么要学习AOP? 案例&#xff1a;有一个接口Service有一个addUser方法&#xff0c;在调用addUser(被调用时打印调用前的毫秒数与调用后的毫秒数&#xff09;&#xff0c;其实现为&#xff1a; Service public class UserServiceImpl implements UserServi…

机器学习 前馈神经网络

人工神经网络&#xff08;Artificial Neural Network&#xff0c;ANN&#xff09;是指一系列受生物学和神经科学启发的数学模型&#xff0e;这些模型主要是通过对人脑的神经元网络进行抽象&#xff0c;构建人工神经元&#xff0c;并按照一定拓扑结构来建立人工神经元之间的连接…

【Vue3】2-5 : 指令系统与事件方法及传参处理

本书目录&#xff1a;点击进入 一、标签属性中的使用 - 指令系统 1.1 那么模板语法是否可以在标签属性中进行使用呢? ▶ 当然可以&#xff1a;使用 指令系统 二、指令系统 2.1 v-bind 2.2 v-on 三、实战 3.1 methods 选项 3.2 $event语法 一、标签属性中的使用 - 指令…

服务发现Discovery

对于注册进eureka里面的微服务&#xff0c;可以通过服务发现来获得该服务的信息 1、 修改cloud-provider-payment8001的controller import com.my.springcloud.utils.RestResponse; import com.my.springcloud.entities.Payment; import com.my.springcloud.service.PaymentSe…

文档审阅批注的合并和对比

#创作灵感# 最近在改论文&#xff0c;Feedback返回的时候&#xff0c;把之前的批注都删了&#xff0c;这就增加了工作量&#xff0c;看起来不方便&#xff0c;所以就需要将删掉的批注全部复原。 那在原来的文档重新在修改一遍&#xff0c;工作量还是很大的&#xff0c;所以这里…

java中的语法糖,你了解多少?

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

Turn.js 实现翻书效果

接到了任务&#xff0c;要把孩子画的画放到网页上去&#xff0c;翻页效果还要逼真一点。搜索到了turn.js这个前端翻页组件&#xff0c;效果不错。先上图看效果。 网页实际效果&#xff1a;星月夜诗集 turn.js的官网地址&#xff1a;Turn.js: The page flip effect in HTML5 …

内存映射-进程通信

内存映射(mmap) 1. 创建内存映射区 实现进程间通信&#xff0c;还可以通过函数创建一块内存映射区&#xff0c;和管道不同的是管道对应的内存空间在内核中&#xff0c;而内存映射区对应的内存空间在进程的用户区&#xff08;用于加载动态库的那个区域&#xff09;&#xff0c…

1.4号io网络

1.多进程 引入目的&#xff1a;让多个任务实现并发执行 并发执行&#xff1a;同一时间只有一个进程执行&#xff0c;通过时间轮询调度多个进程&#xff0c;由于时间每个进程所用时间极短&#xff0c;所以宏观表现为多个进程同时进行。 并行执行&#xff1a;多个任务器执行多…

【Python】Graphviz的安装和使用

graphviz包可以用来决策树可视化&#xff0c;只安装包之后直接import使用会报错&#xff0c;因为graphviz是一个要单独安装的软件。 下载路径&#xff1a;Download | Graphviz 有不同的版本&#xff0c;我这里用的是最新版 9.0版本安装之后可以选自动添加到环境变量——系统…

LeetCode刷题12:贪心算法解决1402.做菜顺序

一个厨师收集了他 n 道菜的满意程度 satisfaction &#xff0c;这个厨师做出每道菜的时间都是 1 单位时间。 一道菜的 「 like-time 系数 」定义为烹饪这道菜结束的时间&#xff08;包含之前每道菜所花费的时间&#xff09;乘以这道菜的满意程度&#xff0c;也就是 time[i]*sa…

[De1ctf 2019]SSRF Me

目录 具体做题分析&#xff1a; 字符串拼接&#xff1a; 哈希拓展攻击&#xff1a; 点开是一段flask代码&#xff0c;经过还原后格式如下&#xff1a; #!/usr/bin/env python# encodingutf-8from flask import Flask, requestimport socketimport hashlibimport urllibimpo…

pod节点jar包替换流程

1、查找到该docker容器 docker ps | grep backend # ./entrypoint.sh文件启动的那个容器2、替换jar 包 mv xxx.jar app.jar docker cp app.jar 66bc6fea9fb5:/home/aimind/3、重启容器 docker restart 66bc6fea9fb5 4、重启容器后进行功能验证 功能验证没问题了&#xff0c;再…

决策树--CART回归树算法详解

1、介绍 &#xff08;1&#xff09;简介 CART&#xff08;Classification and Regression Trees&#xff09;回归树是一种基于决策树的机器学习算法&#xff0c;用于预 测连续型目标变量而不是离散型类别变量。 &#xff08;2&#xff09;生成过程 ① 选择一个特征和相应的…