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

  • 只读模式设置
  • 事务超时设置
相关推荐
闲猫6 小时前
Spring AI 对接Deepseek ChatModel 聊天对话
java·前端·spring
不像程序员的程序媛7 小时前
系统cpu内存负载资源分析
运维·服务器·数据库
Jane Chiu8 小时前
Oracle DBMS_REDEFINITION(在线重定义)
数据库·oracle·分区表
自信的未来8 小时前
JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
java·前端·json
Brookty8 小时前
【JavaEE】线程安全(一).4:写块串行保安全、CAS
java·开发语言·java-ee·多线程·线程安全
全栈前端老曹8 小时前
【MongoDB】安全与权限管理 —— 用户认证、角色权限、SSL 加密
前端·javascript·数据库·安全·mongodb·nosql·ssl
怕孤单的草丛8 小时前
缓存管理面临的主要问题
java·数据库·缓存
我会尽全力 乐观而坚强9 小时前
MySQL零基础入门(二)
数据库·mysql·adb
kali-Myon10 小时前
某校园门禁系统高危 SQL 注入漏洞挖掘复盘
数据库·sql·安全·web安全