SpringBoot修改內置tomcat版本的操作步驟
一、查看當前SpringBoot內置Tomcat版本信息.【本文SpringBoot的版本為2.3.4.RELEASE】
1、查看SpringBoot的啟動項目版本.

spring-boot-starter-web依賴spring-boot-starter-tomcat.

tomcat-embed-core依賴版本信息.

二、查看SpringBoot內置tomcat版本的支持范圍.
1、Maven的官方倉庫中查看.
倉庫地址


2、這里升級到9.0.45
①:<tomcat.version>9.0.45</tomcat.version>
②:添加依賴。
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat.version}</version>
</dependency>啟動服務查看,測試項目功能

三、總結說明
1、SpringBoot內置Tomcat,每個版本會有一個對應的版本范圍的,根據(jù)業(yè)務以及安全需求進行升級,如果需要更高版本,直接升級SpringBoot的版本也更加合適,注意一定要多在測試環(huán)境測試項目功能,一些配置屬性過期、Maven沖突等,本文適用于指定SpringBoot然后小氛圍微調內置Tomcat版本。
附錄
SpringBoot下Tomcat開啟Nio2協(xié)議,SpringBoot支持Nio/Nio2/Http2
org.apache.coyote.http11

package com.boot.skywalk.config;
import lombok.extern.slf4j.Slf4j;
import org.apache.catalina.connector.Connector;
import org.apache.coyote.ProtocolHandler;
import org.apache.coyote.http11.AbstractHttp11Protocol;
import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.stereotype.Component;
/**
* 開啟Tomcat下nio2配置配置
*/
@Slf4j
@Component
public class CommonTomcatConnectorCustomizer implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
@Override
public void customize(ConfigurableServletWebServerFactory factory) {
((TomcatServletWebServerFactory) factory).setProtocol("org.apache.coyote.http11.Http11Nio2Protocol");
((TomcatServletWebServerFactory) factory).addConnectorCustomizers(new TomcatConnectorCustomizer() {
@Override
public void customize(Connector connector) {
ProtocolHandler protocol = connector.getProtocolHandler();
log.info("Tomcat({}) -- MaxConnection:{};MaxThreads:{};MinSpareThreads:{}", //
protocol.getClass().getName(), //
((AbstractHttp11Protocol<?>) protocol).getMaxConnections(), //
((AbstractHttp11Protocol<?>) protocol).getMaxThreads(), //
((AbstractHttp11Protocol<?>) protocol).getMinSpareThreads());
}
});
}
}訪問運行:協(xié)議轉換為Nio2.


SpringBoot多域名支持訪問,本地如果做個簡單測試,就在一下文件里面做個配置.
C:\Windows\System32\drivers\etc

然后修改SpringBoot下為80端口,etc中無法綁定具體端口.
server: port: 80


驗證SpringBoot中properties、yaml、yml的優(yōu)先級,取值時讀取配置文件的順序為:properties->yaml->yml。
配置內容生效順序:
properties > yaml > yml
加載順序:
yml > yaml > properties
測試配置文件如下:



最終生效是properties的內容

源碼層面解釋:
ConfigFileApplicationListener

從加載路徑拼接出完整的配置文件然后進行加載.

默認加載外部Bean.

PropertySourceLoader接口的擴展
以上就是SpringBoot修改內置tomcat版本的操作步驟的詳細內容,更多關于SpringBoot修改tomcat版本的資料請關注腳本之家其它相關文章!
相關文章
SpringBoot+Redis執(zhí)行l(wèi)ua腳本的方法步驟
這篇文章主要介紹了SpringBoot+Redis執(zhí)行l(wèi)ua腳本的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11
Java 配置log4j日志文件路徑 (附-獲取當前類路徑的多種操作)
這篇文章主要介紹了Java 配置log4j日志文件路徑 (附-獲取當前類路徑的多種操作),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
SpringCloud+Redis實現(xiàn)Api接口限流防止惡意刷接口
接口限流是為了保護系統(tǒng)和服務,防止因為過多的請求而崩潰,本文主要介紹了SpringCloud+Redis實現(xiàn)Api接口限流防止惡意刷接口,具有一定的參考價值,感興趣的可以了解一下2024-03-03

