Spring Boot 啟動原理解析(二) Tomcat 啟動詳解

前言

在上一篇啟動原理解析中的對Spring Boot的啟動原理進行了初略的解讀,下面接著上篇的篇幅對大家常用的Tomcat web容器在Spring-Boot中啟動機制進行詳解。

在解讀embeddedTomcat容器啟動之前有幾個要點需讀懂

  • Spring Boot @ConfigurationProperties 注解
  • Spring Boot容器的自動裝載機制

@ConfigurationProperties

在上篇解讀 Spring Boot 啟動原理
中遺留一些問題:如何修改Tomcat端口、在Spring Boot如何修改其默認參數 、Spring Boot 如何讀取application.properties配置參數。

首先要知道一個核心事件監聽器ConfigFileApplicationListener在Spring Boot 微程序啟動加載注冊listener過程中首先加載的就是此監聽器。這個監聽器的核心作用就是讀取application.properties配置文件內容。微程序的application.properties配置文件有4個默認路徑:classpath:/,classpath:/config/,file:./,file:./config/

讀取搭配配置文件中的參數后通過@ConfigurationProperties注解的一個松散的綁定機制注入到默認配置實體類中。我們可以在spring-boot-autoconfigure.jar架包中看到更多的默認配置。大家也可直接瀏覽官網提供的配置參數

Spring Boot 容器自動裝載機制

Spring Boot 通過掃描classpath下的實例決定裝載哪個web容器。pom.xml文件中添加web容器依賴

Jetty容器依賴
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
Tomcat容器依賴
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

在做Demo時我嘗試引入TomcatJetty兩個依賴,最后微程序選擇啟動了Tomcat。

Spring Boot Tomcat 啟動

最直接簡單粗暴的啟動解析。


在Tomcat的啟動過程中我們會發現,Spring Boot自動裝載Tomcat容器后啟動過程中是通過Connector實例來設置微服務訪問端口的。

The last

三人行,必有我師。在給大家分享干貨的同時,才疏學淺還望大家大刀予以斧正。也歡迎關注我的簡書,名稱為柴碼

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容