码迷,mamicode.com
首页 > 其他好文 > 详细

@Transactional事务总结

时间:2019-12-03 14:10:24      阅读:30      评论:0      收藏:0      [点我收藏+]

标签:实现   target   mic   动态   关闭   控制   eth   port   动态代理   

一:加了注解@Transactional就能起作用的原理总结:

  1:首先是由类:JdkDynamicAopProxy,在invoke方法里面创建动态代理类,同时由拦截类进行拦截,代码如下所示:

List<Object> chain = this.advised.getInterceptorsAndDynamicInterceptionAdvice(method, targetClass);
所有的注解都是放在Map里面,代码如下所示:Map<AdvisedSupport.MethodCacheKey, List<Object>> methodCache

2:@Transactional也是由一个拦截器进行实行的,类名为:TransactionInterceptor

在方法:invokeWithinTransaction里面:关闭事务提交、抛出异常回滚事务、事务提交等步骤,来实现事务的控制

3:总结:事务实现原理是动态代理,在程序运行期间生成一个动态代理类,有动态代理、拦截器来实现






@Transactional事务总结

标签:实现   target   mic   动态   关闭   控制   eth   port   动态代理   

原文地址:https://www.cnblogs.com/jelly12345/p/11976369.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!