本课程适合有一定SpringBoot使用经验的Java开发者、希望深入理解框架底层原理的工程师、准备面试大厂需要源码功底的求职者、以及想学习框架设计思想的架构师。无论你已经使用SpringBoot开发多年但对其内部机制一知半解,还是想从“会用”升级到“懂原理”,本课程都将带你从源码视角重新认识SpringBoot,真正掌握自动配置的核心精髓。
学员将深入剖析SpringBoot启动流程(SpringApplication运行机制)、@SpringBootApplication注解原理、自动配置核心机制(@EnableAutoConfiguration/spring.factories)、条件注解体系(@Conditional系列)、配置属性绑定(@ConfigurationProperties)、嵌入式Web容器启动原理、事件监听机制、启动日志与Banner定制等核心源码,具备阅读、调试、扩展SpringBoot源码的能力,能够自定义Starter并深入理解框架设计思想。
SpringBoot已成为Java后端开发的事实标准,其“自动配置”特性极大简化了开发工作。然而,很多开发者对SpringBoot的理解停留在使用层面:
只知道@SpringBootApplication是启动注解,不知道背后做了什么
依赖一加、配置一写就能运行,但不知道自动配置是如何生效的
application.yml中的配置属性不知道怎么绑定到Java对象
条件注解@ConditionalOnMissingBean等原理不清楚
想自定义Starter但不知道从何入手
源码分析能力是区分初中级工程师和高级工程师的重要分水岭。面试中“SpringBoot启动流程是怎样的”“自动配置原理是什么”等高频问题,没有源码功底很难答出深度。
本课程将从SpringBoot启动入口开始,逐行分析核心源码,结合调试实战和设计模式解读,带你彻底吃透SpringBoot自动配置的核心原理。
源码逐行解析:基于SpringBoot 2.x源码,核心类逐行注释讲解
调试实战驱动:通过断点调试跟踪启动全过程,源码不再抽象
设计模式解读:提炼SpringBoot中运用的设计模式(工厂模式、模板方法、观察者等)
自动配置专题:深入剖析spring.factories、条件注解、配置绑定
自定义Starter:手把手教你开发自己的SpringBoot Starter
面试导向:每章配套大厂SpringBoot源码面试题及深度解答
课程分为六大模块,共约32节视频课:
模块一:SpringBoot源码分析入门(3节)
为什么要读源码?SpringBoot源码整体架构
源码环境搭建与调试技巧
SpringBoot核心模块概览(spring-boot、spring-boot-autoconfigure)
模块二:SpringApplication启动流程(5节)
SpringApplication.run()入口分析
推断Web应用类型(Servlet/Reactive/None)
加载META-INF/spring.factories中的初始化器和监听器
推断主配置类
启动流程总结与执行流程图
模块三:@SpringBootApplication与核心注解(5节)
@SpringBootApplication组合注解解析
@SpringBootConfiguration底层原理
@ComponentScan扫描机制
@EnableAutoConfiguration核心注解
@Import(AutoConfigurationImportSelector.class)工作原理
模块四:自动配置核心机制(6节)
spring.factories文件结构与加载机制
AutoConfigurationImportSelector源码解析
自动配置类的过滤与排序(@AutoConfigureOrder/@AutoConfigureAfter)
配置属性绑定:@ConfigurationProperties原理
EnableConfigurationProperties注解作用
自动配置生效条件:@Conditional系列注解体系
模块五:条件注解体系深度剖析(5节)
@Conditional原理:Condition接口
@ConditionalOnClass/@ConditionalOnMissingClass
@ConditionalOnBean/@ConditionalOnMissingBean
@ConditionalOnProperty与@ConditionalOnExpression
自定义Condition实现
模块六:嵌入式Web容器与扩展实战(8节)
嵌入式Web容器自动配置(Tomcat/Jetty/Undertow)
ServletWebServerFactory与WebServer
DispatcherServlet自动配置原理
事件监听机制(ApplicationEvent/ApplicationListener)
启动Banner定制原理
自定义Starter实战(从0到1开发)
SpringBoot常见面试题精讲
课程总结——源码阅读方法论与进阶路线
课程风格严谨、源码为王,每节15-25分钟,采用 “提出问题 → 源码定位 → 逐行分析 → 流程图总结 → 面试应用” 的教学方式。全程基于IDE调试源码,边看边跑边分析。同时提供源码注释版SpringBoot和配套思维导图,课后有源码阅读练习和答疑群,助你真正掌握SpringBoot源码分析能力。
