Spring源码解析之事务篇

Spring事务是我们日常工作中经常使用的一项技术,Spring提供了编程、注解、aop切面三种方式供我们使用Spring事务,其中编程式事务因为对代码入侵较大所以不被推荐使用,注解和aop切面的方式可以基于需求自行选择,我们以注解的方式为例来分析Spring事务的原理和源码实现。

首先我们简单看一下Spring事务的使用方式,配置:

在需要开启事务的方法上加上@Transactional注解即可,这里需要注意的是,当标签在不指定transaction-manager属性的时候,会默认寻找id固定名为transactionManager的bean作为事务管理器,如果没有id为transactionManager的bean并且在使用@Transactional注解时也没有指定value(事务管理器),程序就会报错。当我们在配置两个以上的标签时,如下:


这时第一个会生效,也就是当我们使用@Transactional注解时不指定事务管理器,默认使用的事务管理器是transactionManager1,后文分析源码时会具体提到这些注意点。下面我们开始分析Spring的相关源码,首先看一下对标签的解析,这里需要读者对Spring自定义标签解析的过程有一定的了解,笔者后续也会出相关的文章。

*** 由于分析Spring源码内容较多,请在WiFi环境,点击下方阅读原文 ***

点击阅读原文

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,126评论 6 342
  • spring官方文档:http://docs.spring.io/spring/docs/current/spri...
    牛马风情阅读 5,726评论 0 3
  • 这部分的参考文档涉及数据访问和数据访问层和业务或服务层之间的交互。 Spring的综合事务管理支持覆盖很多细节,然...
    竹天亮阅读 4,662评论 0 0
  • 始终如一。 珂宝宝,风越大浪越大,船就飘荡得更跌宕,这一生目标也不要一下子就订的太远,就做个好姑娘吧。尽管不会被很...
    楠风Dawn阅读 1,274评论 0 0
  • 神仙狐狸有一个梦 简单却又很难做到的梦 那就是 真诚恳切的放飞自我 身与心
    神仙狐狸阅读 1,747评论 0 0

友情链接更多精彩内容