当前位置: 代码网 > it编程>编程语言>Java > SpringBoot修改内置tomcat版本的操作步骤

SpringBoot修改内置tomcat版本的操作步骤

2024年07月23日 Java 我要评论
一、查看当前springboot内置tomcat版本信息.【本文springboot的版本为2.3.4.release】1、查看springboot的启动项目版本.spring-boot-starte

一、查看当前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版本的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com