天天看点

SpringBoot源码解析

我们启动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里面的:

书山有路勤为径,学海无涯苦作舟