谈Spring的事务管理

3 篇文章 0 订阅
开篇前 
Spring发展至今已到v5,本篇旨在探究Spring对于事务管理的方式的发展变化,算是对许久以来使用的总结,同时也希望和想深入Spring事务管理的小伙伴们做一个分享。 
开篇 
Spring作为一个“非侵入式”的容器,在事务管理方面也一直朝着这方面努力。本篇将从其声明性事务的实施,事务支持等方面说开。 
Spring声明性事务的实施  
Spring是2003年由Rod Johnson发起的一个框架,在其早期的版本中,对于声明性事务的实施是由TransactionProxyFactoryBean代理类实现的。翻开其源码可以看出since 2003,好久远啊。 

先看一个基于TransactionProxyFactoryBean的典型的配置,


实际上,TransactionProxyFactoryBean是一个代理类,通过对业务类的代理实施事务增强。那TransactionProxyFactoryBean是怎么代理的呢? 
这要从动态代理说起,Spring AOP在运行期间通过动态代理实现代码的增强。这有点像现在的“涡轮增压”发动机,在发动机运行期间会更有动力。通常,TransactionProxyFactoryBean在底层是通过JDK动态代理实现事务增强的,当然也可以配置成CGLIB动态代理。具体使用它时可以配置事务的传播行为、隔离级别、异常回滚等事务属性信息,这里就不详述了。(好长的事务属性信息~容易写错) 
这种代理类实现事务支持的方式在Spring早期广泛使用,通过上面的配置看出其配置的复杂,复杂性表现在被代理类的方法的描述、事务属性的配置等方面。Schema



to be continued!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值