spring-tx
文章平均质量分 70
spring事务
三颗青菜
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【Spring-tx】关于spring事务的思考
标注@transactional注解的方法,spring都会创建事务对象。关键在于spring的传播行为是否要建立新的连接。 我们常说的事务的传播行为,新建指的是新建一个connection。 非事务方式运行则是不创建connect; 重用,则用上一个。 新建,则会解绑connect的绑定,新建一个新的绑定。 关于事务同步器也是一样的。 非事务的,会将自己的属性数据放入。 重用,则不会放自己的,保持原来的。 新建,则会放入自己的。 但是加上这个注解,是一定交给spring管理事务的。只管提交有connect原创 2022-02-11 16:17:12 · 238 阅读 · 0 评论 -
【Spring-tx-3】ProxyTransactionManagementConfiguration类
本篇接spring事务总篇,之前介绍了找合适的的切面,创建代理。但是并没有详细说切面是哪个?方法拦截器的逻辑是哪个。本篇就开始分析下spring事务的切面。 进入到ProxyTransactionManagementConfiguration。 看里面的方法,似乎有点明白了。 @Configuration(proxyBeanMethods = false) @Role(BeanDefinition.ROLE_INFRASTRUCTURE) public class ProxyTransactionManag原创 2021-07-14 12:24:26 · 1071 阅读 · 2 评论 -
【Spring-tx-4】事务逻辑
唉,熟悉的知识总是看来看去,似乎是掌握了,重新整理思路的时候总会有疑问的地方。不熟悉的又害怕去看,怕是伤了自尊心。事务这块拖了很长时间了,昨天粗略看了下,依旧感觉力不从心。。不过没关系,现在看不懂,等能力提高了之后,再回看会发现轻松的。下面开始吧。。。 前一篇简单介绍了TransactionInterceptor,是一个方法拦截器,直接看invoke方法,为什么直接看这个方法呢?还记得哪里处理的逻辑吗?创建拦截器链的时候,会从链中取出一个,之后调用的就是invoke方法。。 org.springframew原创 2021-07-17 18:35:34 · 441 阅读 · 1 评论 -
【Spring-tx】spring事务和mybatis的联系
上一篇介绍了spring事务的实现,本篇将分析spring事务是如何与mybatis结合的。 看本篇文章之前,最好是已经看过mybatis的源码了,最好是看过mybatis与spring结合的那块代码。 比如说spring是怎么扫进容器的?创建的是接口怎么就可以调用方法了?怎么绑定sqlsession与线程以及为什么要这么做?之前mybatis源码分析的时候好像都讲过了。如果这些都明白,那么看本篇文章会轻松点。。。 org.mybatis.spring.SqlSessionTemplate.SqlSessi原创 2021-07-18 11:10:39 · 1343 阅读 · 1 评论 -
【Spring-tx-1】事务。
之前分析了Aop的逻辑,主要还是我们自己编写的切面类的运行逻辑。一想到aop,应该会想到事务,那么事务是怎么实现的呢?本篇分析下事务的逻辑。 使用 使用这里就不做例子了,直接找例子就可以了,就是@EnableTransactionManagement,@Transactional 两个注解,之前咱们已经看过解析配置类的逻辑了,@EnableTransactionManagement一定有@import注解,看看逻辑。 @Target(ElementType.TYPE) @Retention(Retenti原创 2021-07-18 11:11:17 · 288 阅读 · 0 评论 -
【Spring-tx-2】AutoProxyRegistrar类
这篇接事务的分析总篇,上文介绍了TransactionManagementConfigurationSelector导入两个类,其中之一就是AutoProxyRegistrar,进入到该类中,发现实现了ImportBeanDefinitionRegistrar,所以导入的还不是AutoProxyRegistrar,是要调用registerBeanDefinitions方法,手动注册bd了。 public void registerBeanDefinitions(AnnotationMetadata imp原创 2021-07-12 12:02:12 · 467 阅读 · 0 评论
分享