java干货,spring声明式事务

文章目录

    • 一、编程式事务
      • [1.1 什么是编程式事务](#1.1 什么是编程式事务)
      • [1.2 编程式事务的优缺点](#1.2 编程式事务的优缺点)
    • 二、声明式事务
      • [2.1 什么是声明式事务](#2.1 什么是声明式事务)
      • [2.2 声明式事务的优点](#2.2 声明式事务的优点)
      • [2.3 Spring 事务管理器](#2.3 Spring 事务管理器)
      • [2.4 spring 声明式事务使用](#2.4 spring 声明式事务使用)

一、编程式事务

1.1 什么是编程式事务

  • 编程式事务是指通过手动编写 程序来管理事务,即通过编码的方式 直接控制事务的提交回滚
  • 在java 中,通常使用事务管理器(如Spring 中的PlatformTransactionManager)来实现编程式事务

1.2 编程式事务的优缺点

  • 编程式事务的主要优点灵活性高 ,可以按照自己的需求来控制事务的粒度、模式等
  • 其缺点是需要编写大量的代码。可读性和可维护性不是很好,代码复用性不高

二、声明式事务

2.1 什么是声明式事务

  • 声明式 事务是指使用 注解XML 配置的方式来控制事务的提交回滚 ,只要告诉哪个方法需要事务即可,这就是声明式,程序员只需要写配置即可

2.2 声明式事务的优点

  • 开发者只需配置即可,具体事务的控制实现由第三方框架实现,避免我们直接对事务进行操作
  • 声明式事务可以将业务代码事务逻辑分开来,提高代码的可读性和可维护性

2.3 Spring 事务管理器

  • Spring 声明式事务对应的依赖
    • spring-tx:包含声明式事务实现的基本规范(事务管理器规范接口事务增强等 )
    • spring-jdbc: 包含DataSource 方式事务管理器实现类(DataSource) DataSourceTransactionManager
    • spring-orm:包含其他持久层框架的事务管理器实现类 ,如Hibenate、jpa 等
    • 如果持久层使用的是JDBC、JdbcTemplate、MyBatis,那么就用DataSourceTransactionManager,也就是导入spring-jdbc依赖
    • 如果持久层使用的Hibenate,那么就用HibernateTransactionManager,也就是导入spring-orm 依赖

2.4 spring 声明式事务使用

  • 只读模式设置
  • 事务超时设置
相关推荐
爱喝一杯白开水3 分钟前
SpringMVC从入门到上手-全面讲解SpringMVC的使用.
java·spring·springmvc
王景程13 分钟前
如何测试短信接口
java·服务器·前端
zhang23839061541 小时前
IDEA add gitlab account 提示
java·gitlab·intellij-idea·idea
橘猫云计算机设计1 小时前
springboot基于hadoop的酷狗音乐爬虫大数据分析可视化系统(源码+lw+部署文档+讲解),源码可白嫖!
数据库·hadoop·spring boot·爬虫·python·数据分析·毕业设计
牛马baby1 小时前
Java高频面试之并发编程-07
java·开发语言·面试
卓怡学长2 小时前
w304基于HTML5的民谣网站的设计与实现
java·前端·数据库·spring boot·spring·html5
YONG823_API2 小时前
深度探究获取淘宝商品数据的途径|API接口|批量自动化采集商品数据
java·前端·自动化
冰^2 小时前
MySQL VS SQL Server:优缺点全解析
数据库·数据仓库·redis·sql·mysql·json·数据库开发
yzhSWJ2 小时前
Spring Boot中自定义404异常处理问题学习笔记
java·javascript
电商数据girl2 小时前
产品经理对于电商接口的梳理||电商接口文档梳理与接入
大数据·数据库·python·自动化·产品经理