Spring Boot在进行SpringApplication对象实例化时会加载META-INF/spring.factories文件,
将该配置文件中的配置载入到Spring容器。

spring-boot 的自动配置的原理_spring

1. Maven下载源码

通过 dependency:sources 该命令可以下载该项目中所有的依赖的包的源码。

2.源码分析

org.springframework.boot.SpringApplication:

spring-boot 的自动配置的原理_redis_02

spring-boot 的自动配置的原理_spring_03

spring-boot 的自动配置的原理_spring_04

这里的枚举就是

spring-boot 的自动配置的原理_spring_05

由此可见,读取该配置文件来加载内容。

3.举例:Redis的自动配置

从上述的配置中可以看出,
org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration
是Redis的自动配置。

spring-boot 的自动配置的原理_spring_06

spring-boot 的自动配置的原理_配置文件_07