我们启动SpringBoot的代码:
我们主要从3大点着手解析:
@SpringBootApplication注解
构建SpringApplication对象
SpringApplication的run方法
我们来看看SpringBootApplication的注解的代码:
排除掉上面的4个元注解外,还剩下3个注解,我们一一分析。
@SpringBootConfiguration
这个里面什么都没有,就只是在这个注解上标明了@Configuration,代表是一个配置类。
2. @EnableAutoConfiguration
这个注解主要是启动自动配置功能,我们点进去详细看看。
2.1 我们先看@AutoConfigurationPackage注解
可以看出主要是引入了Registrar这个类,继续跟踪Registrar这个类
主要目的获取SpringBoot主程序启动类的包名并注册
2.2 继续看@Import(AutoConfigurationImportSelector.class)
主要是获取并筛选出自动配置类并返回。
@ComponentScan
这个注解就是包扫描的作用,类似Spring里面的:
书山有路勤为径,学海无涯苦作舟