可以说序言是我们通常在工作中使用最多的技能。让我们看一下如何实现春季的交易。建议查看https://juejin.cn/post/707971977772089380
在使用@enabletransactionManagement项目中的交易时,您需要添加此注释以及此注释,这意味着打开交易。这项开放交易是什么意思?(Springboot不需要添加此注释,Springboot帮助我们做到了)
单击,您会找到导入类
在上一篇春季文章中,我写过@导入该注释可以介绍三种类型的类
无论类型如何,它都是注册beandefinition的一种方法。Importse是这里的ImportSelector。在中间,将根据拦截模式加载不同的类别。由于默认拦截模式是代理,因此将加载并将加载。
这堂课更重要。该类主要注入此豆(这是其属性)
让我们看一下此类的继承图,您会发现它是顾问。每个增强器都会有一个建议,这是其建议。该通知有很大的影响。稍后,详细说明,与事务相关的许多属性都在后面。
春季交易的一些重要属性使用螺纹锁定来同步资源和交易的生命周期。资源的同步是什么?在一次交易中,我们经常执行多个SQL(如果是单个SQL,则无需使用交易)。为了确保所有SQL都使用相同的数据库连接,我们需要将数据库连接到此资源,以与交易同步,包括此类,包括此类资源,包括此资源的采集和返回,让我们看看如何同步
春季的一些重要类型是一个框架。为了与不同的组件兼容,Spring具有统一的抽象,例如PlatformTransactionManager。它定义了基本的交易操作方法。这些交易与平台无关。
交易管理器
仍然有很多实现课程
交易状态
事务属性
如果源代码分析已读取了我以前的有关AOP的文章,则AOP使用责任链模式,链中的拦截器将一一触发,触发后的入口是入口,因此我们开始查看Invoke的代码。
以下代码是处理不同的传输属性。为了让每个人都能更好地理解,首先列出不同的交易差异及其场景
propagation_requiredspring的默认交易隔离级别。如果当前和向下已经有交易,则将事件添加到交易中。如果当前和下降中没有交易,则新交易是paspagation_supports.supports。没有交易,必须在牺牲的当前上下文中存在the the the的当前上下文。Propagation_never目前不能存在,否则,否则将被抛出异常。
看到这一点,已经读取了整个交易的总帧源代码,并且完成了不同交易差的分布属性。当然,不同的通信属性也有一些常见的代码,例如挂起交易,提交交易和回滚交易。下面我们在下面。
挂断
提交
回滚
参考信息https://www.cnblogs.com/micrari/p/7612962.html
https://www.cnblogs.com/java-wang/p/15685613.html
原始:https://juejin.cn/post/7095263419552497672