【Spring的事务与AOP实现原理】

本文详细介绍了Spring事务如何利用AOP实现,包括对数据库操作的事务管理。在初始化时,Spring检查目标类是否实现了InvocationHandler或使用Proxy,如果未实现则通过CGLIB创建动态代理。CGLIB通过继承目标类来实现代理,处理事务提交和回滚。当没有异常时,事务正常提交;反之,发生异常时,事务回滚。

Spring事务属于AOP范畴,它的底层也是需要数据库的支持,初始化时会看目标类有没有实现InvocationHandler接口或者是Proxy类,如果实现了通过反射来接收被代理的类,如果没实现就利用cglib进行AOP动态代理,CGLIB是通过继承的方式做的动态代理,是一个代码生成的类库,可以在运行时动态的生成某个类的子类,将目标对象转变为代理对象对事务进行操作,通过代理对象对数据库的操作来进行事务处理,没有异常就进行事务提交,有异常就进行事务回滚。

spring的事务

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java程序员廖志伟

赏我包辣条呗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值