Skip to content

2026-07-07 学习笔记

Spring Boot 自动配置原理

阅读了 Spring Boot 自动配置的源码,梳理了核心流程。

启动流程

@SpringBootApplication
  └── @EnableAutoConfiguration
        └── @Import(AutoConfigurationImportSelector)
              └── 读取 META-INF/spring.factories
                    └── 加载配置类
                          └── @Conditional 条件过滤
                                └── 注册 Bean

关键注解

  • @EnableAutoConfiguration: 开启自动配置
  • @ConditionalOnClass: 类路径存在时生效
  • @ConditionalOnMissingBean: 不存在时才创建
  • @ConfigurationProperties: 绑定配置项

自定义 Starter

如果要封装自己的 Starter:

  1. 创建 xxx-spring-boot-autoconfigure 模块
  2. 编写配置类和自动配置类
  3. META-INF/spring.factories 中注册
  4. 使用 @ConfigurationProperties 绑定配置

收获

理解自动配置原理后,遇到配置问题能更快定位原因。Spring Boot 的"约定优于配置"不是魔法,而是精心设计的条件装配。


源码阅读要带着问题去读,比泛泛看效果好很多。

阅读量

基于 VitePress 构建