Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的?
核心注解是@SpringBootApplication,它主要由@SpringBootConfiguration,@EnableAutoConfiguration和@ComponentScan这三个构成
-
@SpringBootConfiguration里面就只有一个@Configuration主要注解,也就是把该类变成一个配置类所以@SpringBootConfiguration就相当于@Configuration。 -
@EnableAutoConfiguration是由@AutoConfigurationPackage和@Import(EnableAutoConfigurationImportSelector.class)这两个组成的-
@AutoConfigurationPackage是自动配置包,包括了一个@Import注解,给容器导入了自动配置包的注册器,AutoConfigurationPackages.Registrar.class:将主启动类的所在包及包下面所有子包里面的所有组件扫描到Spring容器 -
@Import(AutoConfigurationImportSelector.class):导入自动配置导入选择器组件,AutoConfigurationImportSelector.class:自动配置导入选择器,主要是从类路径下的META-INF/spring.factories中获取资源
通过SpringFactoriesLoader 类的loadFactoryNames静态方法加载出配置文件
-
-
@ComponentScan:扫描包,该注解默认会扫描该类所在的包下所有的配置类