@EnableTransactionManagement原理
* 1)、@EnableTransactionManagement
* 利用TransactionManagementConfigurationSelector给容器中会导入组件
* 导入两个组件
* AutoProxyRegistrar
* ProxyTransactionManagementConfiguration
* 2)、AutoProxyRegistrar:
* 给容器中注册一个 InfrastructureAdvisorAutoProxyCreator 组件;
* InfrastructureAdvisorAutoProxyCreator:?
* 利用后置处理器机制在对象创建以后,包装对象,返回一个代理对象(增强器),代理对象执行方法利用拦截器链进行调用;
*
* 3)、ProxyTransactionManagementConfiguration 做了什么?
* 1、给容器中注册事务增强器;
* 1)、事务增强器要用事务注解的信息,AnnotationTransactionAttributeSource解析事务注解
* 2)、事务拦截器:
* TransactionInterceptor;保存了事务属性信息,事务管理器;
* 他是一个 MethodInterceptor;
* 在目标方法执行的时候;
* 执行拦截器链;
* 事务拦截器:
* 1)、先获取事务相关的属性
* 2)、再获取PlatformTransactionManager,如果事先没有添加指定任何transactionmanger
* 最终会从容器中按照类型获取一个PlatformTransactionManager;
* 3)、执行目标方法
* 如果异常,获取到事务管理器,利用事务管理回滚操作;
* 如果正常,利用事务管理器,提交事务
*
*/
@EnableTransactionManagement原理相关推荐
- Spring 事务原理篇:@EnableTransactionManagement注解底层原理分析技巧,就算你看不懂源码,也要学会这个技巧!
前言 学习了关于Spring AOP原理以及事务的基础知识后,今天咱们来聊聊Spring在底层是如何操作事务的.如果阅读到此文章,并且对Spring AOP原理不太了解的话,建议先阅读下本人的这篇文章 ...
- Spring事务原理分析(一)--@EnableTransactionManagement 到底做了什么?
目录 一.概述 二.事务的ACID属性 三.事务的隔离级别 四.事务的传播行为 五.Spring声明式事务环境搭建 六.@EnableTransactionManagement分析 七.AutoPro ...
- Spring事务原理,Java开发岗还不会这些问题
registerComponentIfNecessary(beanDefinition, parserContext); } 主要看registerAutoProxyCreatorIfNecessar ...
- spring系列-注解驱动原理及源码-声明式事务使用及原理解析
目录 一.环境准备 1.JdbcTemplate使用实例 2.事务添加 二.声明式事务源码分析 1.原理(与AOP非常相似) 一.环境准备 1.JdbcTemplate使用实例 (1)pom文件添加依 ...
- SpringBoot实战之SpringBoot自动配置原理
www.cnblogs.com/leihuazhe/p- SpringBoot 自动配置主要通过 @EnableAutoConfiguration, @Conditional, @EnableConf ...
- springboot starter工作原理_springboot基础知识集结,你get到了吗
导读 首发于公众号:JAVA大贼船,原创不易,喜欢的读者可以关注一下哦!一个分享java学习资源,实战经验和技术文章的公众号! 一.SpringBoot的特点 Spring Boot 主要目标是: 为 ...
- 点击事件为什么会失效_Spring事务原理?事务在方法间如何传播?为什么会失效?...
推荐学习 疯狂膜拜!阿里出品Spring Security王者晋级文档 肝了十天半月,献上纯手绘"Spring/Cloud/Boot/MVC"全家桶脑图 前言 事务我们都知道是什么 ...
- springboot自动配置的原理_SpringBoot实战:详解SpringBoot自动配置原理
SpringBoot 自动配置主要通过 @EnableAutoConfiguration, @Conditional, @EnableConfigurationProperties 或者 @Confi ...
- 框架源码专题:Spring声明式事务Transactional的原理
文章目录 1. @Transactional的使用 2. spring事务的原理 2.1 开启事务,注册bean的后置处理器和相关bean对象,封装Advisor 2.2 匹配并创建动态代理 2.3 ...
最新文章
- 湖南工大计算机专业咋样,西北工业大学还是湖南大学计算机
- Maatkit工具使用lt;一gt;之mysql主从数据校验工具
- 视图函数中进行sql查询,防止sql注入
- python基础语法合集-Python基础语法介绍
- esp8266 php 接口,ESP8266_SDK基础(5)智能插座_完整项目代码
- python模块下载连接清华镜像的具体步骤_如何下载Pycharm开源版以及设置国内镜像源-百度经验...
- 神秘的数组初始化_I / O神秘化
- python队列怎么用_如何在Python中使用多处理队列? - python
- linux防火墙ddos,Linux iptables防火墙详解 + 配置抗DDOS***策略实战
- 2K分辨率下1070TI更换2080S能有多大提升,值得换吗?
- Zabbix 3.0安装
- linux打开九针串口,RS232 9针串口定义
- conda和pip卸载包的注意事项
- 乐橙机器人的价格_乐橙育儿机器人app-大华乐橙机器人app(乐橙宝宝)下载V1.00.001-西西软件下载...
- C语言练习题:统计 N 个整数中,大于零或小于零的整数个数(数组)
- 看漫画学Python 第八章代码
- PhotoShop算法实现进阶-浮雕滤镜-灰度浮雕(三十一)
- 二次元究竟意味着什么?(修改版)
- liferay Dynamic Query 查询
- 毕设中常出现的定性检验与定量检验的方法及误差指标计算公式【自用】