Spring boot 的啟動類啟動后,tomcat 容器、Spring mvc 、spring 事務等等第三方依賴也已經自動啟動,那么spring boot 是如何啟動的第三方依賴?
以spring boot 為例:
1.進入spring boot 啟動類,@SpringBootApplication 是Springboot 掃描第三方依賴的重要注解

進入@SpringBootApplication

再進入@EnableAutoConfiguration

使用@Import 對 AutoConfigurationImportSelector 類進行引入,首先調用 selectImport() 方法,再在方法中調用 getAutoConfigurationEntity()
再調用getCandidateConfigurations()
getCandidateConfigurations() 方法就去 META-INF/spring.factory 配置文件中加載相關的配置類

spring.factories 配置文件是加載 spring-boot-autoconfigure 的配置文件。

在spring.factories 文件中,找到加載 webservlet 的組件

打開改文件


通過工廠模式創建tomcat


最后是啟動 tomcat

getWebServer 是誰調用啟動的Tomcat?







打開 ServletWebServletApplicationContext


創建 tomcate 服務

選擇 Tomcat


然后啟動

參考:https://www.cnblogs.com/darendu/p/10559366.html
