1. 自动配置的核心机制
Spring Boot的自动配置通过以下核心机制实现:
1.条件注解(Conditional Annotations)
-
根据运行时条件(如类路径、Bean存在性、配置属性等)决定是否启用配置。
-
常见注解:
-
@ConditionalOnClass
:类路径中存在指定类时生效。 -
@ConditionalOnMissingBean
:容器中无指定Bean时生效。 -
@ConditionalOnProperty
:存在指定配置属性且值为true
时生效。
-
2.自动配置类(Auto-configuration Classes)
-
使用
@Configuration
定义配置逻辑,结合条件注解控制Bean的创建。 -
自动配置类通过
META-INF/spring.factories
文件声明,键为org.springframework.boot.autoconfigure.EnableAutoConfiguration
。
3.启动注解(@EnableAutoConfiguration)
-
触发自动配置流程,通过
AutoConfigurationImportSelect