SpringBoot之@SpringBootApplication注解

SpringBootApplication 包含主要三个注解:
~ SpringBootConfiguration
~ EnableAutoConfiguration
~ ComponentScan

SpringBoot之@SpringBootApplication注解
1、SpringBootConfiguration:
SpringBoot之@SpringBootApplication注解
主要用到Spring中的@Configuration注解。主要用来加载配置, 等价于<Beans></Beans>,在这里注解化了

2、EnableAutoConfiguration
SpringBoot之@SpringBootApplication注解
最关键的要属@Import(AutoConfigurationImportSelector.class),SpringFactoriesLoader.loadFactoryNames()方法再调用到loadFactoryNames,收集所有符合条件的@Configuration配置的类并加载到IOC容器当中。
SpringBoot之@SpringBootApplication注解
加载spring-boot-autoconfigure.jar/META-INF/spring.factories中EnableAutoConfiguration相关bean的类。SpringBoot之@SpringBootApplication注解
loadFactories:加载指定的factoryClass并进行实例化。
loadFactoryNames:加载指定的factoryClass的名称集合。
instantiateFactory:对指定的factoryClass进行实例化。

3、ComponentScan
扫包。指定的包及其下级的包中寻找bean。等价于<context:component-scan base-package=”xxxx”/>