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

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.kler.cn/a/580703.html

相关文章:

  • 推荐一款好用在线免费软件工具箱-传道软件箱
  • 框架基本知识总结 Day16
  • 垃圾收集算法与收集器
  • C 语 言 --- 数 组 (2)
  • 【前端】html+css+javascript实现联系我们表单
  • Java生成二维码并在二维码下添加文字,并导出为word
  • Nuxt.js 全栈开发指南:构建现代 Web 应用的终极解决方案
  • 计算机网络--访问一个网页的全过程
  • golang从入门到做牛马:第十一篇-Go语言变量作用域:变量的“生活圈”
  • nnUNet V2修改网络——全配置替换MultiResBlock模块
  • 【大模型基础_毛玉仁】2.2 大语言模型架构概览
  • Xilinx ZYNQ FSBL解读:LoadBootImage()
  • 一次现网问题定位-url超长导致的请求报错
  • babeltrace的使用
  • FX-extern C
  • idea打不开,idea打不开,Error occurred during initialization of VM
  • 前端充电 - 移动端 - 小程序登录、跳转/嵌入H5页面
  • VSCode 本人常用快捷键对照:德语键盘 vs. 英语键盘
  • Mac同时安装jdk8和jdk17,默认选择jdk8
  • [动手学习深度学习]12.权重衰退