05 — Spring Boot 自动配置
定位: Spring Boot 的"约定优于配置"——从自动配置到生产级监控 面试高频度: ⭐⭐⭐⭐⭐
一、板块在体系中的位置
Spring Boot 构建在所有 Spring 模块之上,提供自动配置和开箱即用的体验。
二、知识全景图
+----------------------------------------------------+
| Spring Boot 核心知识体系 |
| |
| +----------------------------------------------+ |
| | 1. 自动配置原理 | |
| | @EnableAutoConfiguration -> AutoConfiguration | |
| | .imports -> 条件评估 -> 注册Bean | |
| +----------------------------------------------+ |
| | |
| +----------------------------------------------+ |
| | 2. 条件注解与定制 Starter | |
| | @ConditionalOnClass/MissingBean/Property | |
| | Starter 命名规范 + 创建步骤 | |
| +----------------------------------------------+ |
| | |
| +----------------------------------------------+ |
| | 3. 外部化配置与 Actuator | |
| | 加载顺序 / @Value / @ConfigurationProperties | |
| | 健康检查 / Metrics / 端点管理 | |
| +----------------------------------------------+ |
+----------------------------------------------------+三、子专题导航
| # | 主题 | 面试频率 | 核心内容 |
|---|---|---|---|
| 05.1 | 自动配置原理 | ⭐⭐⭐⭐⭐ | @SpringBootApplication 三大注解、自动配置加载原理、spring.factories vs AutoConfiguration.imports |
| 05.2 | 条件注解与定制 Starter | ⭐⭐⭐⭐ | @ConditionalOnXxx 体系、Starter 命名规范、手动创建 Starter 步骤 |
| 05.3 | 外部化配置与 Actuator | ⭐⭐⭐⭐ | 配置加载优先级、@ConfigurationProperties、Actuator 端点 |
四、核心面试题
- @SpringBootApplication 由哪些注解组成?各自的作用?
- 自动配置的实现原理?spring.factories 和 AutoConfiguration.imports 有何区别?
- 条件注解的执行顺序?编写自定义 Starter 需要考虑什么?
- Spring Boot 2.x 和 3.x 在自动配置上有什么变化?
- application.yml 和 application-{profile}.yml 的优先级?
- 如何将配置文件的属性绑定到 Java Bean?@Value 和 @ConfigurationProperties 的区别?
- Actuator 的安全如何保障?
五、相关板块
- **Spring MVC** — Spring Boot 内嵌 Web 容器
- **数据访问** — Spring Boot 自动配置数据源
- **事务管理** — 自动配置事务管理器
📚 相关链接
- **Spring文库设计文档** — 文库设计总纲