很多人用 Spring Boot 停留在「加个依赖、写个注解、跑起来」的阶段。接口能通、功能能跑,但一旦出现自动配置没生效、Bean 注入顺序不对、启动报错找不到某个类,就只能靠搜索引擎碰运气。这门课针对的正是这个缺口:它不教你怎么再写一个 Controller,而是把 Spring Boot 背后的装配机制、启动流程、容器行为摊开来看。

先确认你是不是目标读者

如果你符合下面任意一条,说明这门课对你不是重复投资:

  • 写过多个月 Spring Boot 业务代码,但从没打开过 spring.factories 或自动配置类的源码;
  • 面试被问「Spring Boot 自动配置原理」时,只能背出「@SpringBootApplication 是组合注解」,再往深就卡住;
  • 用 starter 时遇到过依赖冲突或配置覆盖,靠试错解决,说不清到底哪一层在起作用;
  • 想把内嵌 Tomcat、Servlet 注册这些东西搞明白,因为项目里要替换或定制容器。

反过来说,如果你连 Spring 的 IoC 容器、Bean 生命周期、AOP 代理这些基础概念都还没理清,直接啃源码分析会非常吃力——这门课假定你已经能熟练写 Spring 应用,只是不知道框架内部怎么运转。

它拆解的具体问题

课程围绕 Spring Boot 2.0 这条线,重点落在几处最容易「知其然不知其所以然」的地方。其一是启动过程:从 main 方法进入后,SpringApplication 到底做了哪些阶段的事,环境准备、上下文创建、Bean 定义加载、刷新容器分别在什么时机发生。其二是自动配置的完整链路:条件注解如何判断、配置类按什么顺序生效、为什么你的自定义配置有时候被官方默认值盖掉。其三是 Web 层与 Servlet 的关系——Spring Boot 并没有抛弃 Servlet,而是把它包了一层,内嵌容器怎么启动、Servlet 和 Filter 怎么注册、异步支持怎么开启,这些都有专门章节展开,还涉及把应用打成 war 部署到外部传统容器的做法。

把这几块连起来看,你会发现「自动配置」不是魔法,而是一套有明确顺序和条件的装配约定。

看的时候建议动手做

纯看源码视频容易变成「跟着点头,关掉就忘」。比较有效的做法是边看边在本地验证:

  • 自己写一个 starter,放一个自动配置类,观察它是否被加载、条件不满足时是否跳过;
  • 在启动流程的关键节点打断点,或用 --debug 看自动配置报告,对照课程讲到的阶段;
  • 把内嵌容器换成另一种,或改成外部容器部署,验证课程里 Servlet 注册部分的结论;
  • 遇到配置不生效时,先定位是条件不满足、顺序问题还是被覆盖,而不是直接搜答案。

这些练习不需要新项目,在你现有工程上加一个模块就能做,成本低但记忆深。

学完应该能回答的问题

用这几个问题自检,能答上来才算真的消化:SpringApplication 的启动分几个阶段,run 方法里先后做了什么?@ConditionalOnClass 这类条件注解是在什么时机、依据什么做判断?自动配置类的加载顺序由什么决定,配置冲突时谁覆盖谁?内嵌 Tomcat 是怎么被创建和启动的,和传统部署 war 包有什么区别?在 Spring Boot 里注册一个 Servlet 或 Filter,有哪几种方式,各自适用什么场景?

如果这些问题你现在答不全,这门课值得花时间;如果大部分都能讲清楚,说明你更需要的是读官方源码而不是跟着视频走一遍。缺什么补什么,别在已经会的地方反复刷。

mksz252-Spring Boot2.0深度实践 核心原理拆解+源码分析

深入剖析Spring Boot核心原理与源码

编辑点评

系统讲解Spring Boot原理,结合源码分析,适合有一定Java基础的学习者。

⭐ 编辑推荐

全面解析Spring Boot核心原理,深度拆解源码,提升后端开发技能。

课程亮点

• Spring Boot原理深入解析
• 源码级分析
• 提升后端开发能力

课程目录

📁 第07章 渐行渐远的 Servlet
    第07章 渐行渐远的 Servlet文档.zip  [1.8 MB]
    7-6 Servlet 异步支持.mp4  [117.3 MB]
    7-17 Spring Boot 应用传统 Servlet 容器部署.mp4  [11.6 MB]
    7-3 Servlet 版本.mp4  [29.6 MB]
    7-4 Servlet 注册.mp4  [11.4 MB]
    7-7 DeferredResult 增加线程信息.mp4  [31.6 MB]
    7-1 渐行渐远的Servlet.mp4  [4.3 MB]
    7-10 Callable 异步执行.mp4  [50.0 MB]
    7-14 DefferedResult 实现原理.mp4  [47.6 MB]
    7-20 渐行渐远的Servlet总结.mp4  [63.0 MB]
    7-15 Spring Boot 嵌入式 Servlet 容器限制.mp4  [276.6 MB]
    7-5 理解 Servlet 组件生命周期.mp4  [126.1 MB]
    7-18 扩展 SpringBootServletInitializer.mp4  [73.2 MB]
    7-13 异步 Servlet 实现.mp4  [225.7 MB]
    7-12 MVC 异步支持原理分析.mp4  [24.7 MB]
    7-11 CompletionStage 异步执行.mp4  [76.4 MB]
    7-8 DeferredResult 设置 timeout 以及处理回调.mp4  [52.8 MB]
    7-2 Servlet 核心 API.mp4  [12.4 MB]
    7-19 构建应用.mp4  [555.9 MB]
    7-16 Spring Boot 嵌入式 Servlet 容器限制 原理分析.mp4  [189.2 MB]
    7-9 DeferredResult 异步执行.mp4  [177.4 MB]
📁 第04章 Web MVC 核心
    第04章 Web MVC 核心资料.png  [493.5 KB]
    4-12 Web MVC 自动装配实现.mp4  [64.5 MB]
    4-10 Web MVC 常用注解(下).mp4  [81.3 MB]
    4-19 -1 Web MVC 核心总结.mp4  [105.3 MB]
    4-7 Web MVC 模块组件说明.mp4  [60.9 MB]
    4-13 Spring Boot 时代的简化.mp4  [22.6 MB]
    4-1 Web MVC 核心 - 开场白.mp4  [1.6 MB]
    4-4 Spring Framework 时代的重新认识.mp4  [114.2 MB]
    4-9 Web MVC 常用注解(上).mp4  [127.2 MB]
    4-14 完全自动装配.mp4  [91.8 MB]
    4-5 核心组件流程说明.mp4  [120.2 MB]
    4-6 Web MVC 注解驱动.mp4  [117.7 MB]
    4-16 外部化配置.mp4  [2.0 MB]
    4-2 理解 Spring Web MVC 架构.mp4  [34.7 MB]
    4-17 简Spring Boot 时代的简化 - 课纲部分.mp4  [93.6 MB]
    4-18 重构 Spring Web MVC 项目.mp4  [266.4 MB]
    4-11 Web MVC 自动装配.mp4  [75.5 MB]
    4-15 条件装配.mp4  [15.2 MB]
    4-8 WebMvcConfigurer 注入过程.mp4  [129.1 MB]
    4-3 Spring Framework 时代的一般认识.mp4  [156.2 MB]
📁 第03章 理解SpringApplication
    第03章 理解SpringApplication资料.png  [493.5 KB]
    3-13 监听 Spring Boot 事件.mp4  [173.0 MB]
    3-8 加载应用上下文初始器.mp4  [132.1 MB]
    3-2 基础技术和衍生技术.mp4  [6.4 MB]
    3-5  配置 Spring Boot Bean 源码部分.mp4  [117.1 MB]
    3-4 SpringApplication 准备阶段.mp4  [38.6 MB]
    3-3 合并工程.mp4  [35.3 MB]
    3-15 理解SpringApplication总结.mp4  [57.7 MB]
    3-12 SpringApplication 运行监听器.mp4  [72.6 MB]
    3-1 理解 SpringApplication.mp4  [12.7 MB]
    3-7 推断引导类.mp4  [37.2 MB]
    3-11 SpringApplication 运行监听器事件监听器编程模型.mp4  [109.6 MB]
    3-9 加载应用事件监听器.mp4  [130.5 MB]
    3-14 创建 Spring 应用上下文.mp4  [96.9 MB]
    3-10 SpringApplication 运行阶段.mp4  [112.4 MB]
    3-6 推断 Web 应用类型.mp4  [40.4 MB]
📁 第08章 从 Reactive 到 WebFlux
    第08章 从 Reactive 到 WebFlux必看.zip  [1.8 MB]
    8-9 Reactive Programming 定义.mp4  [3.3 MB]
    8-8 Reactive Streams JVM 认为异步系统和资源消费需要特殊处理.mp4  [23.6 MB]
    8-4 Reactor 认为异步不一定能够救赎.mp4  [27.0 MB]
    8-3 理解阻塞的弊端和并行的复杂.mp4  [140.0 MB]
    8-16 Reactive Programming 特性:编程模型.mp4  [31.5 MB]
    8-15 andrestaltz 定义.mp4  [28.3 MB]
    8-12 Spring Framework 定义.mp4  [56.6 MB]
    8-25 走向 Spring WebFlux.mp4  [137.4 MB]
    8-17 Reactive Programming 特性:数据结构.mp4  [43.4 MB]
    8-11 维基百科.mp4  [64.8 MB]
    8-5 理解 Callback Hell.mp4  [88.5 MB]
    8-6 理解 Future 阻塞问题.mp4  [37.0 MB]
    8-13 ReactiveX 定义.mp4  [26.1 MB]
    8-7 理解 Future  链式问题.mp4  [85.6 MB]
    8-21 Reactive Streams 规范:API和事件.mp4  [14.4 MB]
    8-23 Reactor 框架运用 - 核心 API.mp4  [63.3 MB]
    8-20 Reactive Streams 规范:定义.mp4  [6.4 MB]
    8-24 Reactor 框架运用实战(下).mp4  [113.1 MB]
    8-14 Reactor 定义.mp4  [16.9 MB]
    8-10 Reactive Manifesto 定义.mp4  [12.5 MB]
    8-18 Reactive Programming 特性:并发模型.mp4  [49.4 MB]
    8-26 从 Reactive 到 WebFlux - 课堂总结.mp4  [84.4 MB]
    8-22 Reactive Streams 规范:背压.mp4  [44.4 MB]
    8-23 Reactor 框架运用实战(上).mp4  [114.1 MB]
    8-1 从 Reactive 到 WebFlux.mp4  [6.4 MB]
    8-2 关于 Reactive 的一些说法.mp4  [5.6 MB]
    8-19 Reactive Programming 使用场景.mp4  [204.2 MB]
📁 第05章 Web MVC 视图应用
    5-6 整合InternalResourceViewResolver示例.mp4  [194.2 MB]
    5-1 Web MVC 视图应用.mp4  [3.8 MB]
    5-12 Web MVC 视图应用总结new.mp4  [71.4 MB]
    5-11 ViewResolver 内容协商原理.mp4  [307.8 MB]
    5-7 修复 Maven 多模块 JSP 定位问题 示例.mp4  [201.2 MB]
    5-5 ThymeleafViewResolver 示例.mp4  [120.6 MB]
    5-9 视图内容协商代码分析.mp4  [147.6 MB]
    5-2 新一代服务端模板引擎Thymeleaf语法和核心要素.mp4  [9.3 MB]
    5-8 视图内容协商.mp4  [32.0 MB]
    5-3 Thymeleaf 示例.mp4  [129.8 MB]
    5-10 ViewResolver 冲突说明部分.mp4  [102.8 MB]
    5-4 ThymeleafViewResolver和多ViewResolver处理流程.mp4  [39.0 MB]
📁 课程大纲及源码
    📁 课纲
        第六节 Web MVC REST 应用.pdf  [468.1 KB]
        第三节 理解 SpringApplication.pdf  [315.5 KB]
        第五节 Web MVC 视图应用.pdf  [445.2 KB]
        第二节 走向自动装配.pdf  [343.4 KB]
        第四节 Web MVC 核心.pdf  [588.8 KB]
        第七节 渐行渐远的 Servlet.pdf  [399.1 KB]
        第八节 从 Reactive 到 WebFlux.pdf  [681.5 KB]
        第一节 系列总览-核心特性.pdf  [306.8 KB]
    coding-252.zip  [409.5 KB]
📁 第10章 超越外部化配置
    10-12 扩展“外部化配置”.mp4  [8.8 MB]
    10-5 10-6 应用“外部化配置”- 用于  注入.mp4  [88.9 MB]
    10-9 用于  Bean 绑定(上).mp4  [139.9 MB]
    10-13 理解 Spring Boot Environment 生命周期.mp4  [74.3 MB]
    10-10 用于  Bean 绑定(下).mp4  [196.2 MB]
    10-11 用于  判断.mp4  [119.5 MB]
    10-19 扩展外部化配置属性源其他扩展点.mp4  [75.8 MB]
    10-16 基于 ApplicationEnvironmentPreparedEvent.mp4  [72.2 MB]
    10-7 用于 Environment 读取.mp4  [99.9 MB]
    10-15 基于 SpringApplicationRunListener.environmentPrepared.mp4  [183.0 MB]
    10-8 用于 Environment 读取 - 源码分析.mp4  [154.8 MB]
    10-18 基于 ApplicationContextInitializer.mp4  [52.4 MB]
    10-14 定位外部化配置属性源.mp4  [306.2 MB]
    10-3 用于 XML Bean 定义的属性占位符.mp4  [164.5 MB]
    10-20 扩展“外部化配置”课堂总结.mp4  [9.2 MB]
    10-2 理解和应用“外部化配置”.mp4  [18.9 MB]
    10-17 基于 EnvironmentPostProcessor.mp4  [106.4 MB]
    10-1 开场白部分.mp4  [4.0 MB]
    10-4 PropertySource 顺序说明.mp4  [57.6 MB]
📁 第02章 走向自动装配
    2-6  模块装配两种方式.mp4  [73.5 MB]
    2-7 Spring条件装配.mp4  [20.6 MB]
    2-11 自定义自动装配.mp4  [89.1 MB]
    2-9 基于编程方式实现条件装配.mp4  [130.8 MB]
    2-2 Spring Framework 手动装配.mp4  [30.8 MB]
    2-4 2-5.avi  [255.6 MB]
    2-12 走向自动装配总结.mp4  [78.9 MB]
    2-8 基于配置方式实现自定义条件装配.mp4  [97.1 MB]
    2-10 Spring Boot 自动装配.mp4  [85.5 MB]
    2-3 Spring Framework手动装配自定义模式注解.mp4  [132.7 MB]
    2-1 走向自动装配.mp4  [1.0 MB]
📁 第09章 WebFlux 核心
    9-12 WebFlux 核心 - 课堂总结.mp4  [4.6 MB]
    9-6 编程模型:函数式端点 - Functional Endpoints.mp4  [161.8 MB]
    9-5 Java 函数编程基础.mp4  [75.0 MB]
    9-13 WebFlux 核心 - 课程彩蛋.mp4  [144.7 MB]
    9-2 官方引入WebFlux的动机分析.mp4  [65.1 MB]
    9-1 WebFlux 核心.mp4  [17.3 MB]
    9-3 回顾Reactive.mp4  [32.5 MB]
    9-11 WebFlux 核心 - 使用场景.mp4  [1.5 GB]
    9-9 WebFlux 核心处理流程 - 函数式端点组件请求处理流程.mp4  [150.3 MB]
    9-8 WebFlux 核心 - 核心组件.mp4  [94.4 MB]
    9-10 WebFlux 核心处理流程 - 注解驱动组件请求处理流程.mp4  [117.3 MB]
    9-7 WebFlux 核心 - 并发模型.mp4  [102.2 MB]
    9-4 编程模型:注解驱动.mp4  [17.2 MB]
📁 第01章 系列总览
    1-13 功能扩展介绍.mp4  [80.5 MB]
    1-10 Spring WebFlux 应用.mp4  [18.1 MB]
    1-11 Web Server 应用.mp4  [91.0 MB]
    1-4 核心特性介绍.mp4  [4.7 MB]
    1-7 传统 Servelt 应用.mp4  [78.5 MB]
    1-2 为什么说Spring Boot 2.0 易学难精?.mp4  [13.4 MB]
    1-5 核心特性之组件自动装配工程部分.mp4  [54.1 MB]
    1-1 -课程导学.mp4  [37.8 MB]
    1-8 异步非阻塞 Servlet 代码示例.mp4  [37.8 MB]
    1-12 数据相关介绍.mp4  [165.1 MB]
    1-3 开场白:系列总览.mp4  [3.7 MB]
    1-9 Spring Web MVC 应用介绍.mp4  [69.3 MB]
    1-6 Web应用介绍.mp4  [2.3 MB]
    1-14 运维管理介绍.mp4  [91.4 MB]
📁 第06章 Web MVC REST 应用
    6-6 Web MVC REST 内容协商处理流程.mp4  [16.7 MB]
    6-5 Web MVC REST 处理流程源码分析.mp4  [290.5 MB]
    6-1 Web MVC REST应用和REST介绍.mp4  [15.8 MB]
    6-15 Web MVC REST应用总结.mp4  [43.6 MB]
    6-13 自定义 Handler 实现.mp4  [271.0 MB]
    6-14 REST 内容协商CORS.mp4  [124.7 MB]
    6-7 Web MVC REST 内容协商处理流程源码分析.mp4  [233.0 MB]
    6-12 自定义 Resolver 实现.mp4  [326.0 MB]
    6-11 扩展 REST 内容协商-序列化部分.mp4  [160.2 MB]
    6-9 理解媒体类型源码分析.mp4  [155.5 MB]
    6-2 Web MVC REST 支持.mp4  [31.1 MB]
    6-10 扩展 REST 内容协商-反序列化部分.mp4  [187.5 MB]
    6-3 REST 内容协商.mp4  [9.6 MB]
    6-8 理解媒体类型.mp4  [90.6 MB]
    6-4 Web MVC REST 处理流程.mp4  [6.8 MB]

适合人群

  • Java开发者
  • 后端工程师
  • Spring Boot爱好者

学习收获

掌握Spring Boot核心原理
学会源码分析
提升后端开发技能

祝您学习愉快!

学有所成,前程似锦!