这门专题的定位很明确:不是教你写 SpringBoot,而是带你读 SpringBoot 和 MyBatis 的源码。对已经能用这两个框架做业务、但说不清「容器什么时候刷新」「事务拦截器挂在哪个调用链上」的开发者,这类内容的价值在于把日常调 API 的经验,换成对执行路径的具体认知。
技术栈与覆盖范围
从资料结构看,内容集中在两条主线。一条是 SpringBoot 2.x 的内部机制,包括系统监听器的注册与广播时机、声明式事务的底层实现;另一条是 MyBatis 的执行流程与映射处理。选择这两块做切入点是有道理的:SpringBoot 的自动配置和事件机制决定了整个应用的启动骨架,MyBatis 的 SqlSession、Executor、MappedStatement 三层结构则代表了典型的 ORM 运行模型,读懂它们之后再看其他中间件源码会轻松不少。
事务部分是这门课里最值得细看的一段。声明式事务看似只是一个 @Transactional,实际涉及事务管理器的开启步骤、AOP 代理的织入点、传播行为的判定逻辑,以及异常回滚规则。资料里对「事务开启三步骤」做了单独拆分,并且配了源码跟踪的演示,说明它不是停在贴注释讲方法签名,而是要跟着调用栈走一遍。这种跟栈的方式对理解框架的隐式行为特别有效。
项目结构与配套形态
资料按阶段、按季组织,每一季聚焦一个具体主题,比如系统监听器单独成一季,声明式事务源码单独成一季。这种切法适合按需取用——遇到哪块不清楚就翻对应那一季,不必从头顺看。缺点是模块之间缺少一条统一的示例工程主线,学习时需要自己建 Demo 去验证,建议每读一段就在本地工程里打断点复现一次。
每季附带的说明图和讲解视频是配合关系:图用来定位关键类与调用关系,视频用来演示调试过程。实际使用中,先把静态结构看清楚,再跟视频里的断点路径,效率会比直接看视频高。视频占用的时间成本大,边看边在 IDE 里标出断点位置,才是有效用法。
可复用的模块与思路
- 事件监听机制:ApplicationListener、ApplicationEventMulticaster 的注册与发布流程,可以直接迁移到自研的模块解耦场景。
- 事务拦截链:TransactionInterceptor 如何与 AOP 协作、传播行为如何影响连接获取,是排查事务失效问题的实用知识。
- 框架启动流程:容器 refresh 阶段的顺序,理解后对自定义 starter 的编写有直接帮助。
- MyBatis 执行链路:从接口代理到 SQL 执行、结果映射的完整路径,适合用来做分页、拦截器等扩展开发。
这些内容不是孤立的知识点,掌握后可以在写扩展点、排查奇怪的生产问题时反复用到。比如事务不生效、监听器顺序错乱、MyBatis 拦截器失效,这些问题靠读文档很难定位,但跟着源码走一遍就清楚了。
自学路径建议
建议按「先用后读」的顺序推进。每季开始前,先在本地工程里把对应功能跑起来,比如写一个自定义监听器、配一个带传播行为的嵌套事务,观察实际表现;然后带着疑问去读源码,用调试器在关键位置打断点,确认每次调用来自哪里。读完一季,回到自己的工程里做一个小改造,比如替换事务管理器或新增一个 MyBatis 拦截器,验证理解是否到位。
需要提醒的是,源码分析本身偏枯燥,不适合当作看剧式的学习。它的正确用法是当工具书:遇到具体问题时按主题查阅,跟着调用栈验证,再把结论记录成自己的笔记。资料提供的是路径和演示,真正的收获来自你亲自动手跟过的那些调用链。对准备从业务开发转向架构方向的开发者来说,这套内容适合反复对照,而不是一次看完。
Java架构师之源码分析专题
深入源码,掌握核心
编辑点评
系统剖析Java架构师必备技术,源码分析深入浅出,适合有志于成为架构师的开发者。
⭐ 编辑推荐
本课程深入解析SpringBoot、MyBatis等框架源码,助你从原理到实践全面提升。
✨ 课程亮点
课程目录
📁 第03阶段:第03季SpringBoot2.x系统监听器
更多配套资料.png [493.5 KB]
01-基础知识resolvableType使用【公众号:秘知圈】.mp4 [63.0 MB]
06-springboot源码监听器-源码分析【公众号:秘知圈】.mp4 [77.5 MB]
09-三种创建监听器的方式_dec.mp4 [60.7 MB]
07-思维导图加断点方式分析源码.mp4 [151.6 MB]
04-广播设计模板的代码实现_dec.mp4 [91.9 MB]
03-监听器的现实中的案例.mp4 [13.2 MB]
08-isAssignableFrom.mp4 [29.7 MB]
05-通过注解改造监听器方式.mp4 [53.6 MB]
02-通过resolvabletype获取字段属性.mp4 [56.5 MB]
10-第四种方式创建监听器.mp4 [24.1 MB]
📁 第17阶段:第17季springboot声明事务底层源码分析
建议您看一下.png [493.5 KB]
01spring事务源码分析课程介绍【公众号:秘知圈】.mp4 [2.1 MB]
06spring的事务源码跟踪演示【公众号:秘知圈】.mp4 [21.9 MB]
04spring的事务管理的开启三步骤_dec【公众号:秘知圈】.mp4 [43.7 MB]
03spring的环境搭建完毕和验证_dec.mp4 [82.6 MB]
02spring案例配置类编写.mp4 [36.0 MB]
05spring的事务源码介绍.mp4 [111.2 MB]
📁 第11阶段:第11季springboot基础原理注解的核心原理
重要资料查看说明.png [493.5 KB]
01getBeanNamesForType讲解【公众号:秘知圈】.mp4 [46.8 MB]
05对外提供动态注册beanDefinition接口_dec.mp4 [19.0 MB]
03spring5的import注解详解.mp4 [15.8 MB]
04importSelector的用法.mp4 [50.6 MB]
02spring5的conditional的注解详解.mp4 [47.2 MB]
06spring5的factorybean的使用_dec.mp4 [46.2 MB]
📁 第28阶段:第28季Mybatis源码分析二级缓存
往期资料.zip [1.8 MB]
03mybatis禁止一级缓存的4种方式【公众号:秘知圈】.mp4 [23.3 MB]
09同一个session的二次缓存实现【公众号:秘知圈】.mp4 [40.2 MB]
10springBoot和Mybatis的二级缓存整合案例和源码分析.mp4 [54.3 MB]
06mybatis自定义redis的二级缓存实现类_dec.mp4 [95.9 MB]
02mybatis源码分析一级缓存代码跟踪回顾.mp4 [48.5 MB]
01mybatis源码分析二级缓存原理_dec.mp4 [22.8 MB]
08如果不关闭session为何俩次都需要查找数据库.mp4 [68.2 MB]
04mybatis二级缓存原理图.mp4 [13.9 MB]
05mybatis缓存工具redis的安装和使用过程.mp4 [40.6 MB]
07mybatis的二级缓存源码分析.mp4 [60.1 MB]
📁 第01阶段:第01季springboot源码之核心原理
学习前请先查看.zip [1.8 MB]
07核心原理-内置tomcat讲解_ev【公众号:秘知圈】.mp4 [60.7 MB]
06starter的maven引入和自动注解_ev【公众号:秘知圈】.mp4 [108.6 MB]
03springboot源码之核心原理-三个基本原理_dec_ev.mp4 [11.0 MB]
04Springboot源码之核心原理-画图讲解_ev.mp4 [28.0 MB]
08springboot底层设计原理的总结_dec_ev.mp4 [15.9 MB]
02springboot源码分析-环境要求讲解_dec_ev.mp4 [5.2 MB]
01springboot源码分析-课程内容介绍_ev.mp4 [7.2 MB]
05Springboot源码之核心原理-环境搭建_ev.mp4 [43.3 MB]
📁 第02阶段:第02季springboot源码之初始化器实现
学习前请先查看.png [493.5 KB]
04自定义初始化器实现方式1_dec【公众号:秘知圈】.mp4 [109.9 MB]
06自定义初始化3.mp4 [38.8 MB]
05自定义初始化器实现方法2.mp4 [20.2 MB]
01Springboot源码第二季课程介绍.mp4 [10.5 MB]
07springboot源码初始化器_回顾.mp4 [36.1 MB]
03springboot的初始化器的源码分析_dec.mp4 [132.2 MB]
02为何要自定义初始化器.mp4 [27.4 MB]
📁 第09阶段:第09季SpringBoot的注解高级配置方式
重要资料查看说明.png [493.5 KB]
01-配置文件的引入外部的方法_dec【公众号:秘知圈】.mp4 [66.9 MB]
05-配置文件的加载位置【公众号:秘知圈】.mp4 [67.4 MB]
06-配置-外部配置加载顺序.mp4 [17.4 MB]
03-高级配置使用bean注解添加组件.mp4 [30.0 MB]
02-高级配置文件importResource使用_dec.mp4 [78.3 MB]
04-配置-profile多环境的支持.mp4 [68.8 MB]
📁 第26阶段:第26季Mybatis源码分析Mapper原理源码分析
更多配套资料.zip [1.8 MB]
06mybatis的sqlsession源码分析整理【公众号:秘知圈】.mp4 [15.8 MB]
08mybatis的sql语句执行的一个分析【公众号:秘知圈】.mp4 [64.5 MB]
09mybatis面试题谈一下mybatis的架构_dec【公众号:秘知圈】.mp4 [47.5 MB]
02mybatis的核心原理画图讲解_dec.mp4 [42.4 MB]
10面试题简述mybatis的流程.mp4 [9.0 MB]
04mybatis执行doquery方法.mp4 [30.9 MB]
05mybatis的数据库和java文件的映射过程.mp4 [18.6 MB]
03mybatis的sqlsession源码分析_dec.mp4 [26.0 MB]
01mybatis的mapper操作.mp4 [69.2 MB]
07mybatis获取动态代理流程.mp4 [10.4 MB]
📁 第05阶段:第05季springboot的banner原理解析
更多配套资料.zip [1.8 MB]
03-banner源码默认输出原理【公众号:秘知圈】.mp4 [32.0 MB]
01-banner原理分析效果演示【公众号:秘知圈】.mp4 [77.2 MB]
04-banner源码原理文本输出分析【公众号:秘知圈】.mp4 [19.6 MB]
05-banner源码图片的输出原理.mp4 [21.2 MB]
06-banner源码代码跟踪.mp4 [65.5 MB]
02-banner原理分析banner的设置关闭方式.mp4 [62.6 MB]
📁 第06阶段:第06季springboot的自动加载器
课程相关资源.png [493.5 KB]
03-自定义stater_dec【公众号:秘知圈】.mp4 [147.6 MB]
02-自动引入的原理_dec.mp4 [99.7 MB]
01-124个自动注解什么时候加载.mp4 [40.4 MB]
05-配置文件提示功能的方法.mp4 [21.3 MB]
06-源码分析加载器-内容回顾.mp4 [11.0 MB]
04-验证自定义starter.mp4 [35.2 MB]
📁 第10阶段:第10季springboot基础原理bean的引入原理
往期资料.zip [1.8 MB]
01spring5的核心bean初始化课程介绍【公众号:秘知圈】.mp4 [7.1 MB]
11spring5的注解高级用法课程总结【公众号:秘知圈】.mp4 [5.8 MB]
06包扫描器@componentScan用法【公众号:秘知圈】.mp4 [48.1 MB]
10spring5的工厂模式.mp4 [36.5 MB]
09spring5验证bean默认情况是单实例.mp4 [13.7 MB]
07spring5打印bean所有信息的方法_dec.mp4 [17.4 MB]
04给xml创建bean赋值并且一些注意事项.mp4 [50.4 MB]
05通过注解方式创建bean并且讲解t配置文件.mp4 [52.7 MB]
02spring5的体系架构介绍_dec.mp4 [17.0 MB]
03spring5通过xml方式创建bean实例.mp4 [64.3 MB]
08spring5包扫描器的包含和排除功能.mp4 [48.8 MB]
📁 第13阶段:第13季springboot基础原理spring5的生命周期源码分析
重要资料查看说明.png [493.5 KB]
04为bean提供了初始化方法的方式【公众号:秘知圈】.mp4 [79.4 MB]
06spring5生命周期断点演示.mp4 [75.4 MB]
03spring5自定义init和detory方法_dec.mp4 [106.0 MB]
02spring5的构造方法初始化过程源码跟踪_dec.mp4 [116.3 MB]
01spring5中spring的生命周期介绍.mp4 [17.1 MB]
05为bean提供了初始化方法的方式.mp4 [20.0 MB]
📁 第27阶段:第27季Mybatis源码分析之一级缓存】
历史合集.zip [1.8 MB]
01getMapper和selectone的关系【公众号:秘知圈】.mp4 [37.5 MB]
04mybatis的一级缓存源码分析_dec【公众号:秘知圈】.mp4 [88.8 MB]
05mybatis的常用Executor.mp4 [14.1 MB]
06mybatis的集群数据出现脏数据.mp4 [37.4 MB]
02mybatis源码分析一级二级缓存画图讲解.mp4 [20.2 MB]
03mybatis的案例验证和更新清除缓存_dec.mp4 [57.1 MB]
📁 第15阶段:第15季springboot基础原理AOP注解分析
更多课程资料领取入口.png [493.5 KB]
11spring5的aop总结【公众号:秘知圈】.mp4 [43.7 MB]
05aop源码分析注入xxxAware类【公众号:秘知圈】.mp4 [35.8 MB]
09aop源码分析对通知的代理方法创建_dec【公众号:秘知圈】.mp4 [140.3 MB]
02spring5的aop切片的案例编写_dec.mp4 [78.5 MB]
08aop源码分析对每个bean进行拦截处理.mp4 [157.1 MB]
06spring5的aop源码分析类图关系.mp4 [40.6 MB]
10spring5的aop拦截器原理说明.mp4 [52.3 MB]
04spring5的aop责任链的设计模式案例实现.mp4 [112.9 MB]
07aop创建beanpostprocess对象.mp4 [147.5 MB]
03spring的aop的加深用法_dec.mp4 [59.3 MB]
01spring5的aop的引入.mp4 [32.7 MB]
📁 第14阶段:第14季springboot基础原理spring5的属性赋值原理
历史合集.png [493.5 KB]
2propertysource加载外部文件读取.mp4 [32.6 MB]
3spring5的autowired5种自动装配方式.mp4 [101.0 MB]
1spring5的属性赋值@value使用.mp4 [44.4 MB]
4spring5的autowired的位置讲解.mp4 [37.9 MB]
5spring5自定义组件xxxaware的引入功能.mp4 [72.2 MB]
📁 第21阶段:第21季springmvc的源码分析
学习资料领取说明.png [493.5 KB]
02Springmvc的核心类源码分析_dec【公众号:秘知圈】.mp4 [81.7 MB]
05springmvc的初始化流程【公众号:秘知圈】.mp4 [18.6 MB]
04源码分析流程总结【公众号:秘知圈】.mp4 [22.5 MB]
01servlet原理的介绍【公众号:秘知圈】.mp4 [31.7 MB]
03springmvc的源码分析拦截器执行的时机_dec.mp4 [105.1 MB]
📁 第24阶段:第24季SpringBoot2.x源码分析启动加载器源码分析
更多配套资料.png [493.5 KB]
03springboot的启动加载执行顺序方法_dec.mp4 [57.2 MB]
04springboot启动加载器源码分析.mp4 [44.1 MB]
02springboot的启动加载器俩个实现的比较.mp4 [9.5 MB]
05启动加载器画图讲解实现过程.mp4 [35.3 MB]
01springboot启动加载器的概述.mp4 [9.6 MB]
📁 第22阶段:第22季SpringBoot2.x属性配置之aware
更多配套资料.png [493.5 KB]
03实现aware接口获取spring容器的功能资源.mp4 [35.2 MB]
01springboot属性配置的课程介绍.mp4 [4.7 MB]
02springboot的属性赋值优先级代码演示对比.mp4 [56.1 MB]
04总结springboot中aware的作用.mp4 [7.8 MB]
📁 第04阶段:第04季springboot的bean初始化
新手必看.png [493.5 KB]
20-bean的最后创建分析【公众号:秘知圈】.mp4 [55.3 MB]
17-SpringIoC源码解析3【公众号:秘知圈】.mp4 [44.6 MB]
06-component方式注解bean【公众号:秘知圈】.mp4 [36.4 MB]
10-动态注册beanDefinition接口【公众号:秘知圈】.mp4 [34.0 MB]
18-refresh其它方法的讲解【公众号:秘知圈】.mp4 [52.3 MB]
19-Bean创建初始化分析【公众号:秘知圈】.mp4 [118.6 MB]
15-SpringIoC源码解析1_dec.mp4 [89.1 MB]
14-postProcessBeanFactory.mp4 [12.8 MB]
01springboot源码第4季-课程内容介绍.mp4 [3.4 MB]
21-画图讲解bean初始化流程_dec.mp4 [43.8 MB]
11-prepareRefresh.mp4 [68.5 MB]
04-ioc的有参注入.mp4 [20.7 MB]
09-使用动态注入分析_dec.mp4 [32.8 MB]
08-factorybean方式.mp4 [23.1 MB]
07-bean方式配置bean.mp4 [23.6 MB]
03-ioc的无参构造xml配置_dec.mp4 [103.5 MB]
05-ioc的静态方式的xml配置和加载过程.mp4 [57.6 MB]
12-obtainFreshbeanFactory.mp4 [10.2 MB]
13-prepareBeanFactory.mp4 [29.0 MB]
16-SpringIoC源码解析2.mp4 [47.6 MB]
02-ioc思想介绍.mp4 [28.8 MB]
📁 第23阶段:第23季SpringBoot2.x源码分析Properties源码跟踪
学习资料领取说明.png [493.5 KB]
02Properties的加载流程_dec.mp4 [51.3 MB]
04对properties源码分析流程一个详细补充.mp4 [83.5 MB]
01Environment对象如何填充集合.mp4 [34.4 MB]
03手画Profile的流程图_dec.mp4 [51.6 MB]
📁 第16阶段:第16季springboot基础原理事务管理源码分析
重要资料查看说明.png [493.5 KB]
09springboot的事务总结【公众号:秘知圈】.mp4 [75.6 MB]
02springboot事务的表的自定和创建【公众号:秘知圈】.mp4 [15.3 MB]
03springboot创建工程项目【公众号:秘知圈】.mp4 [20.2 MB]
04springboot写一个mybatis整合项目_dec【公众号:秘知圈】.mp4 [95.7 MB]
01spring的aop的画图讲解原理.mp4 [28.1 MB]
08spring5的事务管理操作_dec.mp4 [74.7 MB]
07springboot改写事务管理业务类.mp4 [34.2 MB]
05springboot演示事务的小demo.mp4 [28.5 MB]
06springboot手写事务管理器.mp4 [56.6 MB]
📁 第25阶段:第25季Mybatis源码分析之SqlSessionFactoryBuilder
学习前请先查看.png [493.5 KB]
07mybatis对输入流的封装【公众号:秘知圈】.mp4 [21.8 MB]
05mybatis操作数据库演示【公众号:秘知圈】.mp4 [51.0 MB]
08把xml配置转换config类【公众号:秘知圈】.mp4 [63.8 MB]
03mybatis数据的创建过程_dec.mp4 [16.1 MB]
02mybatis的介绍以及orm的整体思想_dec.mp4 [43.6 MB]
04mybatis的环境搭建过程.mp4 [98.7 MB]
09源码分析解析mapper文件_dec.mp4 [47.3 MB]
06mybatis的执行流程.mp4 [23.2 MB]
10源码分析总结.mp4 [37.4 MB]
01Mybatis源码分析总体介绍.mp4 [4.1 MB]
📁 第07阶段:第07季springboot的ConfigurationProperties原理讲解
重要资料查看说明.zip [1.8 MB]
06-源码分析补充【公众号:秘知圈】.mp4 [59.0 MB]
01-配置文件加载的内容介绍.mp4 [10.0 MB]
07-原理画图分析.mp4 [23.0 MB]
05-源码分析_dec.mp4 [201.5 MB]
04-yaml配置文件值的获取.mp4 [103.4 MB]
02-配置文件yaml的介绍.mp4 [28.3 MB]
03-配置文件yaml的基本语法.mp4 [19.8 MB]
📁 第20阶段:第20季springboot的异步源码分析
学习资料领取说明.zip [1.8 MB]
06springmvc的异步请求处理_dec【公众号:秘知圈】.mp4 [73.0 MB]
02基于springmvc注解开启视图层_dec【公众号:秘知圈】.mp4 [60.2 MB]
07springmvc的异常处理企业常用方式【公众号:秘知圈】.mp4 [60.3 MB]
01底层原理基于springmvc注解.mp4 [11.1 MB]
03面试题-拦截器与过滤器区别.mp4 [9.1 MB]
04通过注解实现计时器的拦截器.mp4 [79.3 MB]
05servlet同步线程的案例演示.mp4 [57.5 MB]
📁 第12阶段:第12季springboot基础原理spring5源码解析config类的加载过程
建议您看一下.png [493.5 KB]
01spring5的config配置类的加载过程.mp4 [2.4 MB]
05@configuration的源码断点跟踪.mp4 [65.2 MB]
03BeanFactory和应用上下文.mp4 [29.2 MB]
04@configuration的加载源码分析_dec.mp4 [121.4 MB]
02beanfactory和factorybean.mp4 [19.6 MB]
📁 第08阶段:第08季springboot的value注解的应用和源码分析
重要资料查看说明.zip [1.8 MB]
02-springboot的@value源码分析【公众号:秘知圈】.mp4 [100.9 MB]
03-springboot的@value画图讲解原理【公众号:秘知圈】.mp4 [19.4 MB]
01-springboot的@value的使用案例【公众号:秘知圈】.mp4 [50.4 MB]
04-cofiguationProperti对比.mp4 [12.6 MB]
📁 第18阶段:第18季springboot基础原理循环依赖
学习资料更新说明.zip [1.8 MB]
06spring循环依赖的代码跟踪1【公众号:秘知圈】.mp4 [65.2 MB]
08spring循环依赖面试题解答【公众号:秘知圈】.mp4 [69.7 MB]
07spring循环依赖代码跟踪2_dec.mp4 [64.1 MB]
01spring循环依赖的概念介绍.mp4 [6.2 MB]
04如何解决Spring的循环依赖问题.mp4 [10.4 MB]
02spring循环依赖的代码演示_dec.mp4 [68.5 MB]
03spring为何在单实例状态下不会产生死循环.mp4 [7.9 MB]
05spring创建对象3个缓存的作用.mp4 [46.8 MB]
📁 第19阶段:第19季springboot的web原理篇
02使用spring3.0的注解写个web案例【公众号:秘知圈】.mp4 [63.8 MB]
01springboot的springmvc介绍【公众号:秘知圈】.mp4 [1.9 MB]
05idea搭建springmvc基于注解的方法.mp4 [42.2 MB]
04servletContext注册三大组件.mp4 [92.8 MB]
06idea实现注解方式的springmvc案例.mp4 [129.0 MB]
03初始化的工作原理.mp4 [112.0 MB]
源码文档资料.zip [222.2 MB]适合人群
- Java后端开发者
- 有志于成为架构师的开发者
🎯 学习收获
- 掌握SpringBoot核心原理
- 精通MyBatis源码
- 提升架构设计能力
🎉 祝您学习愉快!



![大疆维修,无人机维修教程[66.30GB]](/_next/image?url=%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)


