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

Spring框架学习day6--事务管理

Spring事务管理

Spring事务管理是在AOP的基础上,当我们的方法完全执行成功后,再提交事务,如果方法中有异常,就不提交事务

Spring中的事务管理有两种方式:

​ 1.编程式事务

​ 需要我们在业务代码中手动提交

​ 2.声明式事务

​ 分为:基于 xml 配置 基于注解实现

Spring 的 dao 框架,提供事物管理实现类是 DataSourceTransactionManager

配置事务管理器

<!-- 配置 spring 事务管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"></property>
</bean>

注解方式

<!-- 开启注解事务管理 -->
<tx:annotation-driven transaction-manager="transactionManager"/>

在类或方法上使用@Transactional 标签即可.

Transactional 可以添加在类上,这样类中所有的方法都在事务管理中运行

​ 也可以方法上,只有所添加方法的事务管理中运行

主要作用:如果对应事务发生异常,会终止提交事务

声明式事务不生效的场景

  • @Transactional 应用在
  • 非 public 修饰的方法上
  • 异常被 catch 捕获导致失效
  • 出现编译期异常
  • 数据库引擎不支持事务
@Transactional(rollbackFor = Exception.class)// 事务注解 rollbackFor 指定出现异常时回滚

事务日志
在这里插入图片描述

http://www.xdnf.cn/news/10585.html

相关文章:

  • 【ISAQB大纲解读】信息隐藏指的是什么
  • 基于Qt的app开发的过渡期
  • PH热榜 | 2025-06-01
  • Flex弹性布局
  • langGraph多Agent
  • 【C语言入门级教学】冒泡排序和指针数组
  • ShardingSphere 分片策略深度解析
  • 导入典籍数据
  • 《仿盒马》app开发技术分享-- 购物车业务逻辑完善(端云一体)
  • java 多线程
  • 基于贝叶斯优化神经网络的光伏功率预测综述
  • Java JVM 内存模型详解
  • LeetCode 付费题157. 用 Read4 读取 N 个字符解题思路
  • deep forest安装及使用教程
  • 强大的PDF编辑工具,操作方便 ,长久使用
  • 第1天:认识RNN及RNN初步实验(预测下一个数字)
  • 【C盘瘦身】Docker安装目录占用C盘过大,一键移动给C盘瘦身
  • 大数据-275 Spark MLib - 基础介绍 机器学习算法 集成学习 随机森林 Bagging Boosting
  • 8、电解电容—数据手册解读
  • Unity使用Lua框架和C#框架开发游戏的区别
  • 2022年上半年软件设计师下午试题
  • 6月2日星期一今日早报简报微语报早读
  • 知识图谱系列(5):表示学习
  • 内网应用如何实现外网访问?无公网IP本地端口网址服务提供互联网连接
  • HCIP:MPLS LDP的原理和配置
  • Go开发简历优化指南
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年6月2日第96弹
  • 高压电绝缘子破损目标检测数据集简介与应用
  • MDP的curriculums部分
  • GNOME开始菜单