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
:扫描包,该注解默认会扫描该类所在的包下所有的配置类