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);//事务提交
相关推荐
hx862275 分钟前
Java MySQL 连接
java·mysql·adb
lpfasd1237 分钟前
Kubernetes (K8s) 底层早已不再直接使用 Docker 引擎了
java·docker·kubernetes
aq553560010 分钟前
SpringBoot有几种获取Request对象的方法
java·spring boot·后端
dotNET实验室14 分钟前
ASP.NET Core 外部依赖调用治理实战:HttpClientFactory、Polly 与幂等边界
后端
Nturmoils24 分钟前
从「亡羊补牢」到「规则先行」:金仓数据库 SQL 防火墙实战解析
数据库·后端
Oneslide38 分钟前
Harbor 启动失败故障排查与解决:从“Cannot allocate memory”到“Operation not permitted”
后端
神超1 小时前
AgentScope 入门:用 Java 快速搭一个可用的 Agent
后端
码事漫谈1 小时前
防患未然,金仓数据库SQL防火墙筑牢数据安全“第一道门”
后端
宸翰1 小时前
Python学习:年轻人的第一个入门Python项目(FastAPI版)
后端·python
Moment1 小时前
MiniMax 发布 M2.7,Agent 开始走向自我进化
前端·后端·面试