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

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 指定出现异常时回滚

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

相关文章:

  • DeepSeek 赋能车路协同:智能交通的破局与重构
  • Fisher准则例题——给定类内散度矩阵和类样本均值
  • Linux——计算机网络基础
  • 实现Cursor + Pycharm 交互
  • 基于FPGA的VGA显示文字和动态数字基础例程,进而动态显示数据,类似温湿度等
  • 高等数学笔记 第八章——向量代数与空间解析几何2
  • STL解析——list的使用
  • 深入解析支撑向量机(SVM):原理、推导与实现
  • 深度学习|pytorch基本运算-hadamard积、点积和矩阵乘法
  • 【软件测试】测试框架(unittest/pytest)
  • StarRocks部署方案详解:从单机到分布式集群
  • 数据库系统概论(十三)详细讲解SQL中数据更新(插入,修改与更新)
  • SpringBoot-配置Spring MVC
  • 掌握HttpClient技术:从基础到实战(Apache)
  • 【Redis】Set 集合
  • AI Agent企业级生产应用全解析
  • Flask中secret_key设置解析
  • 振动分析师(ISO18436-2)四级能力矩阵 - 简介
  • 齐次变换矩阵与运动旋量的指数映射
  • 如何学习才能更好地理解人工智能工程技术专业和其他信息技术专业的关联性?
  • 苹果电脑适合网站开发人员/查询域名注册信息
  • 做ui设计用什么素材网站/2024疫情最新消息今天
  • 雅客网站建设/杭州seo优化公司
  • 古镇企业网站建设定制/seo推广软件
  • 全网营销型网站建设/百度商城官网首页
  • wordpress网站监测/超级seo外链