SpringBoot修改內(nèi)置tomcat版本的操作步驟
一、查看當(dāng)前SpringBoot內(nèi)置Tomcat版本信息.【本文SpringBoot的版本為2.3.4.RELEASE】
1、查看SpringBoot的啟動項(xiàng)目版本.

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

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

二、查看SpringBoot內(nèi)置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>啟動服務(wù)查看,測試項(xiàng)目功能

三、總結(jié)說明
1、SpringBoot內(nèi)置Tomcat,每個版本會有一個對應(yīng)的版本范圍的,根據(jù)業(yè)務(wù)以及安全需求進(jìn)行升級,如果需要更高版本,直接升級SpringBoot的版本也更加合適,注意一定要多在測試環(huán)境測試項(xiàng)目功能,一些配置屬性過期、Maven沖突等,本文適用于指定SpringBoot然后小氛圍微調(diào)內(nèi)置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());
}
});
}
}訪問運(yùn)行:協(xié)議轉(zhuǎn)換為Nio2.


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

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


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



最終生效是properties的內(nèi)容

源碼層面解釋:
ConfigFileApplicationListener

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

默認(rèn)加載外部Bean.

PropertySourceLoader接口的擴(kuò)展
以上就是SpringBoot修改內(nèi)置tomcat版本的操作步驟的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot修改tomcat版本的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java將Date日期類型字段轉(zhuǎn)換成json字符串的方法
這篇文章主要給大家介紹了關(guān)于Java將Date日期類型字段轉(zhuǎn)換成json字符串的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
淺談Java之Map 按值排序 (Map sort by value)
下面小編就為大家?guī)硪黄獪\談Java之Map 按值排序 (Map sort by value)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
Java實(shí)現(xiàn)求解一元n次多項(xiàng)式的方法示例
這篇文章主要介紹了Java實(shí)現(xiàn)求解一元n次多項(xiàng)式的方法,涉及java高斯消元法處理矩陣運(yùn)算解多項(xiàng)式的相關(guān)操作技巧,需要的朋友可以參考下2018-01-01
MyBatis?Plus如何實(shí)現(xiàn)獲取自動生成主鍵值
這篇文章主要介紹了MyBatis?Plus如何實(shí)現(xiàn)獲取自動生成主鍵值問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
SpringBoot?Loki安裝簡介及實(shí)戰(zhàn)思路
這篇文章主要為大家介紹了SpringBoot?Loki安裝簡介及實(shí)戰(zhàn)思路詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪的相關(guān)資料2022-11-11

