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

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.lryc.cn/news/2396734.html

相关文章:

  • 免费酒店管理系统+餐饮系统+小程序点餐——仙盟创梦IDE
  • Git企业级项目管理实战
  • 【实例】事业单位学习平台自动化操作
  • 4.8.3 利用SparkSQL统计每日新增用户
  • 创建ipv6 only和ipv6+ip4的k8s集群的注意事项
  • Qt概述:基础组件的使用
  • 判断使用什么技术来爬取数据详细讲解
  • YOLOV7改进之融合深浅下采样模块(DSD Module)和轻量特征融合模块(LFI Module)
  • 【仿生机器人】仿生机器人认知-情感系统架构设计报告
  • 数学建模期末速成 多目标规划
  • 常见ADB指令
  • IoTGateway项目生成Api并通过swagger和Postman调用
  • sl4j+log4j日志框架
  • 小白的进阶之路系列之九----人工智能从初步到精通pytorch综合运用的讲解第二部分
  • 深度学习与神经网络 前馈神经网络
  • NLP学习路线图(十四):词袋模型(Bag of Words)
  • Oracle数据库事务学习
  • MySQL 全量 增量备份与恢复
  • 【仿生机器人系统设计】涉及到的伦理与安全问题
  • NodeJS全栈WEB3面试题——P5全栈集成与 DApp 构建
  • 鸿蒙进阶——Mindspore Lite AI框架源码解读之模型加载详解(一)
  • 【数据结构】图论核心算法解析:深度优先搜索(DFS)的纵深遍历与生成树实战指南​
  • Mysql数据库 索引,事务
  • RESTful APInahamcon Fuzzies-write-up
  • 安装DockerDocker-Compose
  • 2025年机械化设计制造与计算机工程国际会议(MDMCE 2025)
  • Java生态中的NLP框架
  • NVM,Node.Js 管理工具
  • Jmeter逻辑控制器、定时器
  • 每日八股文6.2