弹簧框架版本5.3.x
注释负责打开交易管理,然后注入以下两个类别:
这样,可以看出交易管理实际上是Spring AOP的应用。
春季注释管理运行流程图:
从AOP AOP的三个组件中分析了源代码,以下是:
3.1 TransActionActributesource源代码分析视图创建是一个非调查构造函数。
提示:这是Annotation TransactionsActributesource(Boolean PublicMethodsonly)构造函数的构造函数。
其中最重要的类是分析类,其他两个是支持Java的其他规格。主要角色是确定当前的执行方法或类是否包含注释。
当您在这里看到它时,有人会要求不说好等同于看到接口。不要担心,让我们看一下班级中的代码:
实现类设置为属性。(这实际上是AnnotationsTransActionAttributesource的实例).LET查看类中的代码:
这不会变成。它不是直接继承界面,而是通过上述代码间接地变成柱子。
通过打包成分
3.2 TransAction Intersceptor源代码分析可以从上方看到实现接口,因此主要逻辑在方法中。TransactionInterceptor实现Invoke接口:
找到呼叫目标类,然后呼叫类方法。该方法也是主要处理逻辑:
基于使用或使用(这仅是对PlatformTransactionManager的分析)。
根据PlatformTransActionManager的说法,TransactionAcionAttributesource和输入点方法来处理交易管理如何创建,让我们看一下Transactectsuppectsupport#Creattransaceseresare方法。有一个代码:
交易管理器基于获得交易状态。
该代码说明了如何根据注释中的属性创建交易,最好打包。LET在下面的下面分析此代码,该代码已实现。
以上是根据设置的沟通行为处理交易。交易的传播如下:
创建创建后,启动业务逻辑方法。如果业务逻辑报告错误,请执行:
然后在最后的代码块中执行:
清除事务的信息并提交。整个交易基本上在此处完成。
3.3 BeanFactoryTransactionAtributesorCeadVisosor源代码分析。
春季交易的底层使用AOP的原理与数据库事务结合使用。