目录
Spring-TX【五】Spring事务管理小结

这几天把Spring的事务处理源码分析了一下,基本上了解了其实现方式。在这里做个简单的小结。
先概括一下流程:(只分析声明式事务)
首先通过解析spring的xml配置文件,让spring支持事务注解,并将事务增强器放入IOC容器中。
在bean实例化之前,调用后处理程序,获取到当前类的所有增强器,通过代理获取目标类。

强化的过程都体现在TransactionInterceptor的invoke方法中:
开启事务、回滚事务、提交事务,这些逻辑流程的实现都在事务管理器中实现。

因为我是使用的DatasourceTransactionManager事务管理器,所以上面的三个操作,最终都委托它实现。
当然逻辑上的功能都在它的父类AbstractPlatformTransactionManager中实现,最终是实现于PlatformTranManager接口。

具体的提交、回滚等操作,都交由数据源处理。

在分析spring管理事务的时候,也好好看了看spring的7种事务传播行为,虽然很多,很复杂,但是从源码中看起来还挺清晰的。

之后有时间会分析一下JDBC的具体实现逻辑。

tencent.jpg

文章作者: ClawHub
文章链接: https://www.clawhub.club/posts/2019/08/22/Spring%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/Spring-TX%E3%80%90%E4%BA%94%E3%80%91Spring%E4%BA%8B%E5%8A%A1%E7%AE%A1%E7%90%86%E5%B0%8F%E7%BB%93/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ClawHub的博客
打赏
  • 微信
  • 支付宝
扫一扫关注ClawHub公众号,专注Java、技术分享、面试资源。