SpringBoot复习:(53)TransactionInterceptor是在哪里配置的?

我们知道SpringBoot的事务(@Transactional)最终是通过TransactionInterceptor的invoke方法调用invokeWithinTransaction方法来开启事务控制的。

TransactionInterceptor bean在哪里配置的呢?在ProxyTransactionManagementConfiguration:

可以看到这里创建了一个TransactionInterceptor类型的bean并且注入到了BeanFactoryTransactionAttributeSourceAdvisor这个bean.

##############################################################################

@EnableTransactionManagement注解:

@EnableTransactionManagement注解使用@Import注解导入了TransactionManagementConfigurationSelector类,这个类代码如下:

因为TransactionManagementConfigurationSelector实现了ImportSelector接口,所以它的selectImports方法返回的字符串数组中的字符串(类的全限定名)就会被用来创建bean,因此容器中会存在一个类型为ProxyTransactionManagementConfiguration的bean.而类型为ProxyTransactionManagementConfiguration的配置类bean中定义了一个类型为TransactionInterceptor的bean

相关推荐
笑衬人心。4 分钟前
JVM 笔记:类加载、内存管理、垃圾收集与垃圾收集器
java·jvm·笔记
程序猿小D7 分钟前
Java项目:基于SSM框架实现的进销存管理系统【ssm+B/S架构+源码+数据库+毕业论文+远程部署】
java·数据库·mysql·ssm·jsp·毕业论文·进销存管理系统
得物技术12 分钟前
Java volatile 关键字到底是什么|得物技术
java·后端
青梅主码13 分钟前
【手把手攻略】国家育儿补贴正式开领!一键算清你能拿多少钱?附补贴领取计算器
后端
HoHeHa15 分钟前
IDEA 手动下载安装数据库驱动,IDEA无法下载数据库驱动问题解决方案,IDEA无法连接数据库解决方案(通用,Oracle为例)
java·数据库·intellij-idea
用户60830892904716 分钟前
Spring Boot自定义注解
spring boot
你可以叫我仔哥呀20 分钟前
Java程序员学从0学AI(七)
java·开发语言·人工智能·ai·spring ai
阿宙ppppp25 分钟前
yoloV5的环境安装
后端·图像识别
杨DaB39 分钟前
【SpringMVC】MVC中Controller的配置 、RestFul的使用、页面重定向和转发
java·笔记·后端·学习·spring·mvc·restful
linyb极客之路42 分钟前
干货来袭!5 分钟学会快速实现责任链,效率直接拉满!
java