了解SpringBoot是如何进行自动装配的:
唯一的入口就是启动类中的@SpringBootApplication这个注解:

在SpringBootApplication注解里面包含:

@EnableAutoConfiguration:这个注解就是开启自动配置的功能
在这个注解里面:

存在一个@AutoConfigurationPackage注解:
在该注解中:

我们能发现“”自动配置包注册”这个类:
在这个类里面有一个静态类部类:

又由文档可以发现这个类是用于导入包的:

那他导的是那是一个包呢?

导入的是我们启动类的所在的目录com.cdcas。
并且在我们的@EnableAutoConfiguration注解中还有一个类

自动配置导入选择器。
在AutoConfigurationImprotSelector类中

这个方法
可以获取所有的配置类,然后在getCandidateConfigurationEntry方法中进行筛选,选择出需要自动装配的类。
在getCandidateConfigurations这个方法中

有一个SpringFactoriesLoader.loadFactoryNames的方法
里面有一个

加载Spring的工厂
在这个方法中有一个很重要的资源加载


在通过getCandidateConfigurations加载所有spring-boot-autoconfigure.jar/META_INF/spring.factories中的类,在通过getCandidateConfigurationEntry方法和yml配置进行筛选,选择出需要自动装配的类,完成配置类的自动装配。