先弄清楚这门课解决什么问题

日常写 Java 业务代码时,大家往往敲几行启动类注解,项目就能跑起来,很少去管背后发生了什么。可一旦遇到内嵌容器加载异常、依赖包冲突、或者线上需要做深度性能调优,停留在“会用”层面就会卡壳。这门课不教你写增删改查,它专门对付“知其然而不知其所以然”的困境,把 Spring Boot 2 的底层运作机制拆开来给你看。它解决的是中高级开发场景下的排错与架构理解问题,帮你在面对复杂工程难题时,能直接穿透框架封装看到核心逻辑,而不是只在表层瞎猜。

适合什么基础与资料怎么配合练习

这套资料不适合刚接触 Java 的新人。你需要具备扎实的 Spring 基础,平时能独立用 Spring Boot 写业务接口,并且了解 Maven 构建流程。学习时建议别只拿视频当背景音播放,必须把配套的源码和课件在本地环境跑通。先跟着演示自己打一个普通 jar 包,再打一个可执行 jar 包,然后对照着课程拆解的内部结构,用反编译工具去看看生成的文件布局。遇到讲启动流程的章节,务必在源码关键节点打断点单步调试,让理论的执行链路在你自己的屏幕上实打实地走一遍。

建议先看哪几块以及学完能独立做什么

资料不用从头按部就班顺看。建议先直奔“生成的 jar 包为什么能直接运行”这一核心模块,这是理解整个框架打包机制的钥匙。重点啃透内嵌容器的加载机制与启动器流程。把这些底层逻辑摸透后,你就能独立分析线上复杂的类加载冲突,排查由于打包不规范引起的各种诡异启动报错。在团队内部做技术选型或底层组件封装时,你也能站在机制层面给出靠谱的依据,不再停留在搬砖调用别人写好的工具方法上。


Spring Boot已成为JavaEE项目的标配,然而Spring Boot易学难精的问题困扰了很多技术人员,本课程为Spring Boot 的进阶课程,以S

课程目录

*   第一章 课程总体介绍/

  *   课程总体介绍/

    *   01 课程总体介绍

*   第二章 Spring Boot 生成的jar包为什么可以直接运行/

  *   Spring Boot 生成的jar包为什么可以直接运行/

    *   01 本章导学

    *   02 普通jar的生成及运行

    *   03 可运行jar的生成及运行

    *   04 Spring Boot jar的生成及运行

    *   05 三种jar包简单对比

  *   Spring Boot 生成的jar包为什么可以直接运行(含本门课课程配套课件、代码等资料)/

    *   06 Fat jar组成

    *   07 JarLauncher在何处

    *   08 JarLauncher流程解析上

    *   09 JarLauncher流程解析下

    *   10 Spring Boot下Web项目的jar包

    *   11 Spring Boot下Web项目的war

    *   12 本章总结

*   第三章 不继承spring-boot父POM能用Spring Boot吗/

  *   不继承spring-boot父POM能用Spring Boot吗/

    *   01 本章导学

    *   02 spring-boot-starter-parent解读

    *   03 spring-boot-dependencies解读

    *   04 直接继承spring-boot-dependencies POM

    *   05 如何替代继承POM

    *   06 Fat jar项目绕过父POM

    *   07 war项目绕过父POM

    *   08 解读Spring Boot 起步依赖

    *   09 spring-boot-starter-xxx POM层级关系

    *   10 spring-boot-starter

    *   11 spring-boot-starter-web

    *   12 本章总结

*   第四章 Spring Boot如何实现的自动装配?/

  *   Spring Boot如何实现的自动装配?/

    *   01 本章导学

    *   02 Spring 注解驱动简介

    *   03 @EnableWebMvc

    *   04 @EnableXXX驱动原理

    *   05 旧版本中的@Profile

    *   06 @Conditional

    *   07 @Conditional相关源码

    *   08 4.0以上版本中的@Profile

    *   09 @SpringBootApplication 注解语义

    *   10 @ComponentScan

    *   11 @SpringBootConfiguration

    *   12 @SpringBootApplication 属性别名

    *   13 @EnableAutoConfiguration

    *   14 @AutoConfigurationPackage

    *   15 AutoConfigurationImportSelector

    *   16 AutoConfigurationImportSelector断点调试及流程分析

    *   17 如何获取自动装配类名单

    *   18 如何判断是否需要装配

    *   19 @EnableAutoConfiguration小结

    *   20 自定义自动装配总体步骤

    *   21 自定义自动装配代码实现上

    *   22 自定义自动装配代码实现下

    *   23 Spring Boot条件化装配初探

    *   24 类级@ConditationalOnClass条件化装配

    *   25 方法级@ConditionalOnClass条件化装配

    *   26 文件级ConditionalOnClass条件化装配尝试

    *   27 文件级条件化装配问题跟踪

    *   28 Spring Boot条件化装配小结

    *   29 本章总结

    *   30 扩展-Spring Boot 如何自动装配WebMvc

*   第五章 嵌入式Web容器的秘密/

  *   嵌入式Web容器的秘密/

    *   01 本章导学

    *   02 Spring Boot下的嵌入式Servlet Web容器

    *   03 非Spring Boot项目嵌入式Tomcat实现上

    *   04 非Spring Boot项目嵌入式Tomcat实现下

    *   05 基于Netty的Reactive Web容器

    *   06 基于Tomcat的Reactive Web容器

    *   07 嵌入式Servlet Web容器的原理分析上

    *   08 嵌入式Servlet Web容器的原理分析下

    *   09 嵌入式Reactive Web容器的原理分析

    *   10 本章总结

*   第六章 Spring Boot Application是怎么运行的/

  *   Spring Application是怎么运行的/

    *   01 本章导学

    *   02 SpringApplication总览

    *   03 SpringApplication构造小节导学

    *   04 设置Initializers

    *   05 设置Listeners

    *   06 推断main方法所在类

    *   07 SpringApplication运行小节导学

    *   08 StopWatch

    *   09 SpringApplicationRunListeners(上)

    *   10 SpringApplicationRunListeners(下)

    *   11 prepareEnvironment()

    *   12 printBanner()

    *   13 prepareContext()

    *   14 refreshContext()

    *   15 callRunners()

    *   16 SpringApplication运行小结

    *   17 SpringApplication设置

    *   18 SpringApplicaion退出

    *   19 本章总结

*   第七章 什么是约定大于配置/

  *   什么是约定优于配置/

    *   01 本章导学

    *   02 约定优于配置概念

    *   03 约定优于配置在Spring Boot中的应用

    *   04 理解外部化配置

    *   05 外部化配置的优先级

    *   06 getOrCreateEnvironment()

    *   07 configureEnvironment()

    *   08 环境准备完成事件广播

    *   09 前两个EnvironmentPostProcessor

    *   10 第三个EnvironmentPostProcessor

    *   11 第四个EnvironmentPostProcessor上

    *   12 第四个EnvironmentPostProcessor中

    *   13 第四个EnvironmentPostProcessor下

    *   14 第五个EnvironmentPostProcessor

    *   15 本章总结

*   第八章 Spring Boot Actuator有什么用/

  *   Spring Boot Actuator有什么用/

    *   01 本章导学

    *   02 Spring Boot Actuator作用

    *   03 Endpoint概念及使用

    *   04 内置Endpoints上

    *   05 内置Endpoints下

    *   06 Actuator实现机制概述及术语

    *   07 自定义实现Endpoint

    *   08 HTTP映射及访问机制

    *   09 本章总结

*   第九章 Spring Boot 2课程总结/

  *   课程总结/

    *   01 课程总结