一、查看当前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,每个版本会有一个对应的版本范围的,根据业务以及安全需求进行升级,如果需要更高版本,直接升级springboot的版本也更加合适,注意一定要多在测试环境测试项目功能,一些配置属性过期、maven冲突等,本文适用于指定springboot然后小氛围微调内置tomcat版本。
附录
springboot下tomcat开启nio2协议,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()); } }); } }
访问运行:协议转换为nio2.
springboot多域名支持访问,本地如果做个简单测试,就在一下文件里面做个配置.
c:\windows\system32\drivers\etc
然后修改springboot下为80端口,etc中无法绑定具体端口.
server: port: 80
验证springboot中properties、yaml、yml的优先级,取值时读取配置文件的顺序为:properties->yaml->yml。
配置内容生效顺序:
properties > yaml > yml
加载顺序:
yml > yaml > properties
测试配置文件如下:
最终生效是properties的内容
源码层面解释:
configfileapplicationlistener
从加载路径拼接出完整的配置文件然后进行加载.
默认加载外部bean.
propertysourceloader接口的扩展
以上就是springboot修改内置tomcat版本的操作步骤的详细内容,更多关于springboot修改tomcat版本的资料请关注代码网其它相关文章!
发表评论