先弄清楚这门课解决什么问题
日常写 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 课程总结






