2026-07-07 学习笔记
Spring Boot 自动配置原理
阅读了 Spring Boot 自动配置的源码,梳理了核心流程。
启动流程
@SpringBootApplication
└── @EnableAutoConfiguration
└── @Import(AutoConfigurationImportSelector)
└── 读取 META-INF/spring.factories
└── 加载配置类
└── @Conditional 条件过滤
└── 注册 Bean关键注解
@EnableAutoConfiguration: 开启自动配置@ConditionalOnClass: 类路径存在时生效@ConditionalOnMissingBean: 不存在时才创建@ConfigurationProperties: 绑定配置项
自定义 Starter
如果要封装自己的 Starter:
- 创建
xxx-spring-boot-autoconfigure模块 - 编写配置类和自动配置类
- 在
META-INF/spring.factories中注册 - 使用
@ConfigurationProperties绑定配置
收获
理解自动配置原理后,遇到配置问题能更快定位原因。Spring Boot 的"约定优于配置"不是魔法,而是精心设计的条件装配。
源码阅读要带着问题去读,比泛泛看效果好很多。