Spring自动配置原理

Spring Boot 自动配置(Auto-configuration) 是其"约定大于配置"理念的核心实现。它能根据类路径依赖、环境变量、配置文件等上下文,自动推断并注册所需的 Bean,无需开发者手动编写 XML 或 Java Config。

1.启动入口

SpringBoot项目中有一个@SpringBootApplication组合注解,其中包含一个@EnableAutoConfiguration注解

2.加载候选配置类

SpringBootFactoriesLoader读取所有MATE-INF/spring.factories文件中所配置的类的全类名。

3.条件过滤

使用@Conditonal系列注解动态筛选符合条件的配置类,(如类路径存在、Bean不存在、配置属性匹配等)

4.顺序调整

通过@AutoConfigurationOrder、@AutoConfigureBefore等注解调整配置类加载顺序

5.配置生效

符合条件的配置类被加载到Spring容器中,自动注册Bean或执行初始化逻辑。

6.用户覆盖

用户自定义的Bean或1配置属性会覆盖自动配置的默认值。

为什么不一次性全部加载

全部加载到Spring容器会占用大量的内存,所以Spring提供了条件注解来控制某一个配置是否生效。
posted @ 2026-01-30 14:51  acccccccccc  阅读(0)  评论(0)    收藏  举报