spring 是如何开启事务的, 核心原理是什么

文章目录

    • [spring 是如何开启事务的](#spring 是如何开启事务的)
      • 核心原理
      • [1 基于注解开启事务](#1 基于注解开启事务)
      • [2 基于代码来开启事务](#2 基于代码来开启事务)

spring 是如何开启事务的

核心原理

Spring事务管理的实现有许多细节,如果对整个接口框架有个大体了解会非常有利于我们理解事务,下面通过讲解Spring的事务接口来了解Spring实现事务的具体策略。

Spring事务管理涉及的接口的联系如下:

spring开启事务有两种:

1 基于注解开启事务

只需要在方法头上加一个注解@Transactional即可:

2 基于代码来开启事务

在需要开启事务的方法中,输入以下代码即可:

java 复制代码
@Autowired
private PlatformTransactionManager txManager;
// 开启事务管理
    DefaultTransactionDefinition def = new DefaultTransactionDefinition();
    def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
    TransactionStatus status = txManager.getTransaction(def);
    try {
         //操作都放在这里
    }catch(Exception e){
       //这里是异常处理
    }
    txManager.commit(status);//事务提交
相关推荐
什巳9 小时前
JAVA练习278- 和为 K 的子数组
java·学习·算法·leetcode
豆瓣鸡9 小时前
RocketMQ学习-Spring Boot消息实践
java·spring boot·rocketmq
wuqingshun3141599 小时前
说一下mysql的覆盖索引
java
罗超驿10 小时前
2.算法效率的核心密码:时间复杂度和空间复杂度详解
java·数据结构·算法
heimeiyingwang10 小时前
【架构实战】缓存一致性:Cache Aside与双写问题的破解
spring·缓存·架构
栈溢出了11 小时前
Redis 分片集群与哈希槽笔记
java·redis·笔记·spring
遨游DATA11 小时前
Spring Boot 启动失败排查:如何区分多 Bean 冲突与清理阶段异常
java·spring boot·后端
IT_陈寒11 小时前
Java线程池这个坑我算是踩明白了
前端·人工智能·后端
掉头发的王富贵11 小时前
我来入职新公司两个月了,为什么只写了100行代码?
后端·ai编程
从零开始的代码生活_11 小时前
C++ 内存管理:从内存分区到 new/delete 底层原理
开发语言·c++·后端