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,每個(gè)版本會有一個(gè)對應(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多域名支持訪問,本地如果做個(gè)簡單測試,就在一下文件里面做個(gè)配置.
C:\Windows\System32\drivers\etc
然后修改SpringBoot下為80端口,etc中無法綁定具體端口.
server: port: 80
驗(yàn)證SpringBoot中properties、yaml、yml的優(yōu)先級,取值時(shí)讀取配置文件的順序?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)文章
SpringBoot+Redis執(zhí)行l(wèi)ua腳本的方法步驟
這篇文章主要介紹了SpringBoot+Redis執(zhí)行l(wèi)ua腳本的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Java超詳細(xì)講解接口的實(shí)現(xiàn)與用法
Java接口是一系列方法的聲明,是一些方法特征的集合,一個(gè)接口只有方法的特征沒有方法的實(shí)現(xiàn),因此這些方法可以在不同的地方被不同的類實(shí)現(xiàn),而這些實(shí)現(xiàn)可以具有不同的行為2022-04-04Java 配置log4j日志文件路徑 (附-獲取當(dāng)前類路徑的多種操作)
這篇文章主要介紹了Java 配置log4j日志文件路徑 (附-獲取當(dāng)前類路徑的多種操作),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10SpringCloud+Redis實(shí)現(xiàn)Api接口限流防止惡意刷接口
接口限流是為了保護(hù)系統(tǒng)和服務(wù),防止因?yàn)檫^多的請求而崩潰,本文主要介紹了SpringCloud+Redis實(shí)現(xiàn)Api接口限流防止惡意刷接口,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03