当前位置: 首页 > news >正文

Spring 中事务的实现

目录

  • 1、事务
  • 2、声明式自动提交事务
    • 2.1 @Transactional

1、事务

事务的定义:将一组操作封装成一个执行单元,要么全部成功,要么全部失败。
比如:A 转账给 B 100元,分为两个操作,第一步:A 的账户 - 100元,第二步:B 的账户 + 100元。如果没有事务,第一步执行成功,而第二步执行失败,那么 A 账户的100元就平白无故消失了,因此需要使用事务来解决这个问题,要不全部成功,要不全部失败。

2、声明式自动提交事务

Spring 中的事务操作分为两类:手动操作事务和声明式自动提交事务。常用的是声明式自动提交事务,只需要在方法上添加 @Transactional 注解即可实现,无需手动开启事务和提交事务,进入方法时自动开启事务,方法执行完会自动提交事务,如果中途发生了没有处理的异常会自动回滚事务。注意 @Transactional 在异常被捕获的情况下,不会进行事务回滚。

2.1 @Transactional

  1. @Transactional 可以用来修饰方法或类:
    修饰方法时:只能应用到 public 方法上,否则不生效。
    修饰类时:表明该注解对该类中所有的 public 方法都生效。
  2. @Transactional 参数说明:

在这里插入图片描述

http://www.dtcms.com/a/65416.html

相关文章:

  • MySQL索引详解
  • 从零到一:如何系统化封装并发布 React 组件库到 npm
  • Vue 框架使用难点与易错点剖析:避开陷阱,提升开发效率
  • wow-rag学习|手搓RAG
  • Spring Boot
  • C语言 第四章 数组(2)
  • VMware 17 3389远程接入会出现无响应
  • 系统设计面试总结:5、加密算法的应用场景、哈希算法(MD、SHA、BCrypt)、对称加密(DES和3DES、AES)、非对称加密(RSA、DSA)
  • python系列之运算符
  • 重要!!! 改进 梯度方差(Fisher 信息近似) 指数移动平均
  • MATLAB代码开发实战:从入门到高效应用
  • 使用AI一步一步实现若依前端(10)
  • Java基础语法精讲:类型转换、常用运算符与用户输入处理引言
  • 苍穹外卖实战附源码-DAY1
  • 掌握C++内联与异常:构建高效且健壮的应用程序
  • 蓝桥杯备考:数据结构堆之序列合并
  • 基于javaweb的SpringBoot农资商城购物商城系统设计与实现(源码+文档+部署讲解)
  • Linux第19节 --- 用户缓冲区和文件系统
  • Git 的基本概念和使用方式(附有思维导图)
  • 数1的个数(信息学奥赛一本通-1095)
  • 在芯片设计的后端流程中,通过metal修timing是什么意思,怎么实施。举个timing违例说明一下
  • java设计模式之适配器模式
  • 2011-2020年 全国省市县-数字普惠金融指数数字经济指数绿色金融指数县域数字乡村指数
  • Ollama本地部署deepseek-r1蒸馏版
  • eNSP中路由器的CON/AUX接口、GE Combo接口、Mini USB接口、USB接口、WAN侧uplink接口、FE接口、GE接口介绍
  • jmeter-AES加密
  • 【Python】PyQt5在PyCharm的配置与应用
  • E1-110.完美走位(滑动窗口)
  • C#带有设备仿真功能串口调试助手
  • 【AIGC】计算机视觉-YOLO系列家族