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 声明式事务使用

  • 只读模式设置
  • 事务超时设置
相关推荐
余额瞒着我当琳2 分钟前
C++--vector第二讲:手写 C++ STL:vector 源码剖析与迭代器失效分析
android·java·c++
资源大佬星 课it8 分钟前
黑马 Java+AI新版V16零基础就业班视频课程百度网盘下载
java·开发语言·人工智能
二十雨辰15 分钟前
[Java]-微服务面试题
java·开发语言·微服务
我命由我1234517 分钟前
Compose Codelab 学习 - Compose 中的基本布局
android·java·java-ee·kotlin·android studio·android-studio·android runtime
隔窗听雨眠20 分钟前
MySQL索引机制深度解析:从B+树原理到高并发查询优化的完整指南
数据库·b树·mysql
我的xiaodoujiao31 分钟前
使用PyMySQL模块技术操作MySQL数据库
数据库·python·测试工具·mysql
莫得感情 o39 分钟前
并发 11 · 同步工具类
java·并发
zmzmzmalo4 小时前
Linux ELF文件加载与内存管理揭秘
linux·网络·数据库
chuan.bai6 小时前
Java RAG 实战(第 11 篇):RAG 知识工作台网页
java·开发语言·人工智能
0x539 小时前
网站通信(一)
java