【從入口開始】
點進去-->
點進去-->
再點進去-->
【初始化工作】
到這兒就是SpringBoot的啓動準備工作了,寫幾個關鍵的註釋:
//當前項目的類型
this.webApplicationType = WebApplicationType.deduceFromClasspath();
//設置初始化器
this.setInitializers(this.getSpringFactoriesInstances(ApplicationContextInitializer.class));
//設置監聽器
this.setListeners(this.getSpringFactoriesInstances(ApplicationListener.class));
//根據應用推斷程序的入口類
this.mainApplicationClass = this.deduceMainApplicationClass();
1、如何設置初始化器
初始化的過程根據方法名可以猜到是在加載 spring.factories 的配置
2、點擊去打斷點驗證一下
果然它去加載了叫 spring.factories 的配置文件
3、設置監聽器,通過源碼可以發現,也是去加載的spring.factoies 配置文件
【備註】
項目基於SpringBoot2.1.6,下篇學習SpringBoot啓動的過程