zoukankan      html  css  js  c++  java
  • @Transactional事务总结

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

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

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

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

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

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






    郭慕荣博客园
  • 相关阅读:
    linux:shell:tree
    html5,css3
    asp.net web forms page life cycle
    Unobtrusive Javascript
    Multitier architecture
    C#接口的显示实现和隐式实现
    Modernizr
    android w700
    debian e42 wifi
    mstest run dll
  • 原文地址:https://www.cnblogs.com/jelly12345/p/11976369.html
Copyright © 2011-2022 走看看