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 小时前
JavaEE进阶——Spring Bean与Java Bean的核心区别
java·后端·java-ee
37手游后端团队9 小时前
Cursor 工作区使用技巧:让 AI 真正理解你的多项目协作
后端·面试·架构
期待のcode9 小时前
Java Object 类
java·开发语言
武子康9 小时前
大数据-198 KNN 必须先归一化:Min-Max 正确姿势、数据泄露陷阱与 sklearn 落地
大数据·后端·机器学习
悟能不能悟9 小时前
如何处理 丢失更新(不可重复读)
java
李拾叁的摸鱼日常9 小时前
Java Optional 最佳实践+注意事项+避坑指南
java·后端·面试
雨中飘荡的记忆9 小时前
MyBatis配置解析模块详解
java·mybatis
啊哈灵机一动9 小时前
手把手实现 Gin + Socket.IO 实时聊天功能
后端
qq_12498707539 小时前
基于微信小程序的科技助农系统的设计与实现(源码+论文+部署+安装)
java·大数据·spring boot·后端·科技·微信小程序·毕业设计
狂奔小菜鸡9 小时前
Day35 | Java多线程入门
java·后端·java ee