spring boot的自动装配是通过几个核心注解实现的,@SpringbootApplication注解的底层代码中我们可以了解到有关自动配置的实验原理。包括@Configuration、@EnabledAutoConfiguration、@ConditionOnClass几大核心注解,在具体实施中,@EnableAutoConfuratuin会在我们Pom.xml配置导入的依赖中找到spring-boot-autoConfigure中的META-INF下面的spring-factories,将其中存在的类名以数组的形式返回到自动配置的实体类中进行过滤处理,再通过个自动配置类及自己的properties文件进行自动配置。
理解:
首先,我们在使用springboot时,需要对我们的对象新的类用@SpringBootApplication注解驱动,将该类标识为springboot的配置类,再通过springbootApplication的run方法,在执行过程中,springboot会导入相应的包并进行相关的注解驱动,过滤掉一些不满足条件的包。
我们可以点击@SpringBootApplication查看源代码,可以看到除了一些Target、Retent之类的元注解外,还有三个核心的注解,分别是SpringBootApplication将该类标识为配置类, ComponentScan自动扫描和EnableAutoConfiguration,其中EnableAutoConfiguration又包含AutoConfigurationPackage和Import,AutoConfigurationPackage