前言
在上一篇啟動原理解析中的對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
時我嘗試引入Tomcat
、Jetty
兩個依賴,最后微程序選擇啟動了Tomcat
。
Spring Boot Tomcat 啟動
最直接簡單粗暴的啟動解析。
在Tomcat的啟動過程中我們會發現,Spring Boot自動裝載Tomcat容器后啟動過程中是通過
Connector
實例來設置微服務訪問端口的。
The last
三人行,必有我師。在給大家分享干貨的同時,才疏學淺還望大家大刀予以斧正。也歡迎關注我的簡書,名稱為柴碼