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);//事务提交
相关推荐
王磊鑫8 分钟前
重返JAVA之路——图书管理系统
java·开发语言
听闻风很好吃11 分钟前
Java设计模式之观察者模式:从入门到架构级实践
java·观察者模式·设计模式
艺杯羹14 分钟前
JDBC 初认识、速了解
java·数据库·jdbc
陵易居士15 分钟前
Spring如何解决项目中的循环依赖问题?
java·后端·spring
铁弹神侯22 分钟前
Maven相关名词及相关配置
java·maven
Aska_Lv27 分钟前
RocketMQ---core原理
后端
AronTing32 分钟前
10-Spring Cloud Alibaba 之 Dubbo 深度剖析与实战
后端·面试·架构
会飞的皮卡丘EI36 分钟前
关于Blade框架对数字类型的null值转为-1问题
java·spring boot
没逻辑36 分钟前
⏰ Redis 在支付系统中作为延迟任务队列的实践
redis·后端
雷渊38 分钟前
如何保证数据库和Es的数据一致性?
java·后端·面试