天天看點

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裡面的:

書山有路勤為徑,學海無涯苦作舟