Spring aop事务代理对象通过TransactionInterceptor处理目标方法事务过程,cglib方式

本文深入解析Spring AOP如何通过CGLib动态代理实现事务处理,详细介绍了TransactionInterceptor在代理对象中的作用,以及从invoke()到commitTransactionAfterReturning()的事务管理流程。涉及关键步骤包括:TransactionAttribute获取、PlatformTransactionManager的使用、事务创建与回滚、以及事务传播行为的处理。
摘要由CSDN通过智能技术生成

    我们都知道,spring aop主要是通过动态代理实现,而动态代理对象的产生主要是通过CGLib,而CGlib代理对象的方法内容的增强主要是在

MethodInterceptor的intercept(),如果不熟悉CGlib的同学请先熟悉CGBlib的使用。

Spring对CGLib进行了一些封装,如DynamicAdvisedInterceptor继承自CGLibMethodInterceptor,它的intercept()是所以事务代理对象增强代码的入口。Intercept()对事务的增强主要通过调用TransactionInterceptorInvoke()方法。具体内容如下:

1、     TransactionInterceptorinvoke(finalMethodInvocation invocation)中的invocation实例是CGLibProxy.CGlibMethodInterceptor

Invoke()方法干的事情是:

1) 获取代理方法的实际类,

2) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值