spring事务拦截器类图

来源:互联网 发布:五子棋人机对战算法 编辑:程序博客网 时间:2024/05/20 23:38

这里写图片描述

从图中看出,TransactionInterceptor是MethodInterceptor更是Advice的实现类,说明spring事务一定是基于方法。
Interceptor拦截器是Advice建言的扩展子接口,虽然啥都没实现。
MethodInvocation 是aop用来方法调用的接口。上图中说过jdk和cglib动态代理中有个核心依赖的ReflectiveMethodInvocation 也说明了代理的执行和建言者是怎么关联的。
TransactionAspectSupport 是一个事务切面的超级模板类,个人感觉spring只要叫support肯定是个超级的模板类(事务控制所需的属性,事务流程逻辑的控制都在这个超级模板类持有和实现)
AbstractPlatformTransactionManager 是一个控制具体事务操作的事务操作类控制着事务是不是该挂起了,该提交了等等。(事务的传播机制,事务的隔离机制,回滚点处理都是由这个类来依据TransactionStatus的实例实现的)

原创粉丝点击