SpringBoot内置Tomcat 配置和切换

2023-11-16

目录

SpringBoot内置Tomcat 配置和切换

基本介绍

内置Tomcat 的配置

application.yml配置

对上面代码解释一下方便理解

通过类来配置Tomcat

注销application.yml 对tomcat 配置,完成测试

切换WebServer, 演示如何切换成Undertow 

修改pom.xml , 排除tomcat , 加入Undertow 包的依赖

运行项目,完成测试


SpringBoot内置Tomcat 配置和切换

基本介绍

SpringBoot 支持的webServer: Tomcat, Jetty, or Undertow默认是Tomcat

SpringBoot 应用启动是Web 应用时。web 场景包-导入tomcat

支持对Tomcat(也可以是Jetty 、Undertow)的配置和切换

内置Tomcat 的配置

通过application.yml 完成配置

配置和ServerProperties.java 关联, 通过查看源码得知有哪些属性配置

application.yml配置


server:
  #配置端口
  port: 9999
  tomcat: #对tomcat配置
    threads:
      max: 10 #最大的工作线程, 默认是200
      min-spare: 5 #最小工作线程, 默认是10
    accept-count: 200 #tomcat启动的线程达到最大值, 接受排队的请求个数,默认100
    max-connections: 2000 #最大连接数, 并发数
    connection-timeout: 10000 #建立连接的超时时间, 单位是毫秒
    #还有很多其它的配置,就不一一列

对上面代码解释一下方便理解

 

通过类来配置Tomcat

通过类来配置Tomcat(说明: 配置文件可配置的更全.)

这个跟yml文件配置差不多一样的就是 .setxx设置

/**
 * 通过类来配置Tomcat
 */
@Component
public class CustomizationBean implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {

    @Override
    public void customize(ConfigurableServletWebServerFactory server) {
        server.setPort(10000); //我们设置了server的端口为10000
    }
}

注销application.yml 对tomcat 配置,完成测试

切换WebServer, 演示如何切换成Undertow 

修改pom.xml , 排除tomcat , 加入Undertow 包的依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <!-- 引入spring-boot-starter-web 排除tomcat -->
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <!-- 引入undertow -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-undertow</artifactId>
    </dependency>

说明: 因为去掉了tomcat 的依赖,所以项目有使用到tomcat 相关类/接口,就会报错,注销/删除这部分代码即可,

运行项目,完成测试

 如果不知道的可以去看看上一篇博客有一个页面的介绍 不看也没有关系

这里主要演示切换tomato 到其他的服务 不会对页面访问造成任何影响 这个结论

这个页面的链接

 

 测试完毕,我还是改回成Tomcat 这个习惯

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringBoot内置Tomcat 配置和切换 的相关文章

  • Spring JDBC 模板。如何获取pl/sql脚本的结果变量

    我正在使用 NamedParameterJdbcTemplate 来运行 pl sql 脚本 但我不知道如何获取out变量的值 id out 提前致谢 String script declare begin if myFunc id in
  • 在 portlet 中设置 SearchContainer 以使用 EL 和 JSTL 在 JSP 中使用它

    我正在尝试使用SearchContainer在我的liferay应用程序中 目前我必须使用 JSP Scriplets 来设置results in
  • Java Swing 应用程序消息对话框帮助

    我正在开发 Java Swing 应用程序 我需要创建一个如图所示的对话框 我不知道这个的名字 我无法解释 所以我附上一张照片 请告诉我这叫什么以及如何在我的 GUI 应用程序中创建它 给猫剥皮的方法不止一种 public final cl
  • Java EE 6 和单例

    谁能解释一下在 Java EE 6 应用程序中实现 Singleton 的完整过程 我假设我不应该以声明静态变量的典型方式创建单例 而应该使用 Singleton注解 我必须这样做吗 难道只是声明一下的情况 Singleton就是这样 我还
  • Hibernate 每个子类一个表继承策略的效率

    我正在考虑 Hibernate 管理的类层次结构的表布局 当然 每个子类表技术在我看来是一般意义上最合适的 然而 通过逻辑思考 我对其性能有些担忧 尤其是随着子类数量的扩展 举一个非常简短 且经典 的示例 假设您有以下类 public ab
  • Android:TelephonyManager 类

    我不明白为什么 API 文档中这么写TelephonyManager类是public 但是当我尝试创建一个实例时 它说它不是公共类 并且无法从包中访问 我看到它也说使用Context getSystemService Context TEL
  • Eclipse 无法识别 persistence.xml 的内容

    我在 eclipse 中收到以下错误 persistence xml 文件没有可识别的内容 我的 persistence xml 文件在我的应用程序中工作得很好 但 eclipse 一直给我这个错误 我在移动文件并使用 m2eclipse
  • 为什么不自动装箱泛型的 Java 基本类型?

    Java 不允许在通用数据结构中使用原始类型 例如 不允许使用 ArrayList 原因是 原始类型不能直接转换为Object 然而 Java 1 5 确实支持自动装箱 并且包装类在通用数据结构中工作 那么为什么编译器不能将其自动装箱到 A
  • 我可以使用 Selenium Webdriver 测试元素的顺序吗?

    有一个表单 其中有 3 个字段 具有 3 个不同的 ID fieldset div div fieldset
  • ThreadPoolExecutor 和队列

    我以为使用线程池执行器 http docs oracle com javase 6 docs api java util concurrent ThreadPoolExecutor html我们可以提交Runnables 要在以下位置执行B
  • Java 8 Stream - 并行执行 - 不同的结果 - 为什么?

    假设我有一个List
  • 在 java 8 下使用泛型出现类型错误,但在 java 7 下则不然

    我有一段代码可以在 java 7 下编译良好 但不能在 java 8 下编译 这是一个独立的重现示例 我已经采用了显示此问题的真实代码并删除了所有实现 import java util Iterator class ASTNode
  • IntelliJ - 无效源版本:17

    我已经在 IntelliJ 中使用 Gradle 创建了一个使用 Java 17 的新 Java 项目 运行我的应用程序时出现错误Cause error invalid source release 17 我的设置 我已经安装了openjd
  • 在 Apache Servicemix 4 中的 OSGi 包之间共享配置文件?

    有人能够在 SMX4 中的两个或多个捆绑包之间成功共享配置吗 我正在寻找的是这样的 有一个文件 SMX HOME etc myconfiguration cfg 使此配置 可用 以便使用 Spring dm 通过 OSGi 配置管理将其注入
  • Eclipse Juno 指标插件

    Eclipse JUNO 版本有哪些 Eclipse 指标插件 我尝试了一些通用指标插件 但没有一个能够在 Eclipse 的 JUNO 版本中正常运行 差点忘了 我们正在使用 Java 作为编程语言 我想要诸如圈复杂度 代码行数 方法长度
  • gwt 文本框添加更改处理程序

    我有一个从设计师那里收到的文本框 但是我在 GWT 中编写了操作 问题是文本框为空 但是当通过按下按钮用值填充文本框时 将显示警报框 通知值已更改 但没有成功 帮助我 TextBox zip1 null function onModuleL
  • 短 2 个字节

    我正在从串行端口读取一个长度为 133 字节的数据包 最后 2 个字节包含 CRC 值 我使用 Java 将 2 个字节值制成单个 我认为很短 这就是我所做的 short high 48 0x00ff short low 80 short
  • 将一个整数从 C 客户端发送到 Java 服务器

    我使用此代码将一个整数从我的 Java 客户端发送到我的 Java 服务器 int n rand nextInt 50 1 DataOutputStream dos new DataOutputStream socket getOutput
  • Eclipse 如何创建一个未解决编译问题的类?

    当我尝试使用 javac 编译此类时 出现编译错误并且未创建 Test class public class Test public static void main String args int x 1L lt this cannot
  • java中什么是静态接口?

    我正在阅读Map Entry界面 当我注意到它是一个static界面 我不太明白什么是静态接口 它与常规接口有什么不同 public static interface Map Entry

随机推荐

  • 如何在 Python 中将 Excel 文件转换为图像?Aspose快速搞定

    在各种情况下 需要将 Excel 电子表格嵌入到 Web 或桌面应用程序中 在这种情况下的解决方案之一是将 Excel 工作表转换为图像格式 在本文中 将学习如何在 Python中将Excel XLSX 或 XLS 转换为 PNG JPEG
  • 算法和数据结构项目练习5-哈希链表

    Hash Chaining Table 项目介绍 代码实现 项目介绍 本项目实现一个简单的哈希表 txt文件包含一个整数值序列 读取它们并使用链接构造一个哈希表 程序应该依次读取每个整数 并使用mod 100作为哈希函数计算其哈希值 因此
  • CSS笔记(黑马程序员pink老师前端)浮动,清除浮动

    浮动可以改变标签的默认排列方式 浮动元素常与标准流的父元素搭配使用 网页布局第一准则 多个块级元素纵向排列找标准流 多个块级元素横向排列找浮动 float属性用于创建浮动框 将其移动到一边 直到左边缘或右边缘触及包含块或另一个浮动框的边缘
  • win10的pycharm开发工具使用Jupyter的各种报错:环境问题

    一 问题 在win10系统的pycharm开发工具使用Jupyter的各种报错 却一直解决不了 我一度使用过购买云服务器 重装系统等等各种办法 都没能解决 例如 在speech processing ipynb文件中 import libr
  • FreeIPA 统一身份认证实现

    1 FreeIPA概述 1 FreeIPA简介 FreeIPA是一个用于Linux Unix环境开源的身份管理系统 提供集中式帐户管理和身份验证 与Windows Active Directory或LDAP的作用类似 FreeIPA集成了3
  • 局部均值分解(matlab实现有注释)

    局部均值分解 local mean decomposition LMD 方法同经验模态分解方法 EMD 一样 也是一种自适应信号处理方法 LMD通过改变信号分解过程能有效改进EMD方法存在的包络拟合不准确 边界处发散等问题 代码如下 cle
  • Linux高阶—CPU性能压测spec(十)

    目录 一 基本概念 二 工作原理 三 测试套件 整数和浮点 测试套件 四 工作模式 speed 测量 rate 测量 五 测试场景 六 操作案例 一 基本概念 SPEC基准广泛用于评估计算机CPU性能工具 SPEC官网下载SPEC CPU
  • 小心宏定义出错

    当宏参数在宏定义中出现超过一次 这个宏作用在复杂的表达式里就可能出错 导致不可预料的结果 我还记得我有一次为这个问题导致的出错 查了一个星期 最后整整debug了一个工作日才找到这个问题 所以提醒大家一定要小心 比如 define MAX
  • FastCGI模块

    FastCGI模块 FastCGI 摘要 这个模块允许nginx同FastCGI协同工作 并且控制哪些参数将被安全传递 例 location fastcgi pass localhost 9000 fastcgi index index p
  • MMU的作用及工作过程

    MMU的作用及工作过程 MMU Memory Management Unit 是内存管理单元的简称 读者朋友在学习嵌入式的时候应该听说过 CLinux 这是适合没有MMU的微控制器使用的嵌入式Linux操作系统 比如ARM7 由于没有MMU
  • 对大连律师李振鹏《甲骨作文,应判“零分”》的反驳

    大连律师李振鹏 甲骨作文 应判 零分 请看http hi baidu com B4 F3 C1 AC C2 C9 CA A6 C0 EE D5 F1 C5 F4 blog item d94cb8fb8bb7b66d034f56c3 html
  • JDK8新特性之lambda表达式

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于lambda表达式的相关操作吧 目录 Welcome Huihui s Code World 一 是什么 二 为什么要用 三 底层 四 什么时候用 五 怎么用
  • 2018Global Game Jam成都赛区赛后感

    这次是我第二次参加ggj 感觉这次大家的水平都高了很多 影响最深的还是自己的三度上台 以前我都是用的unity5 X系列来打包游戏的 这次由于想用到unity2017新增的Camera插件 于是这次第一次用unity2017 游戏做后打包成
  • 兆易创新携手合肥产投进军12英寸晶圆存储器

    2018年12月29日北京兆易创新科技股份有限公司董事会发布公告 北京兆易创新科技股份有限公司与合肥市产业投资控股 集团 有限公司于2017年10月26日签署了 关于存储器研发项目之合作协议 约定双方合作开展12英寸晶圆存储器研发项目 经沟
  • JVM内存溢出的几种方式与解决方法

    内存溢出 JVM运行时首先需要类加载器 classLoader 加载所需类的字节码文件 加载完毕交由执行引擎执行 在执行过程中需要一段空间来存储数据 类比CPU与主存 这段内存空间的分配和释放过程正是我们需要关心的运行时数据区 内存溢出的情
  • QT单例类管理信号和槽函数

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 创建单例类 二 主界面添加组件 三 组件代码绑定信号和槽 四 效果图 总结 前言 提示 这里可以添加本文要记录的大概内容 在QT当中 遇到主界面和多个组件
  • 华为机试学习——字符串最后一个单词的长度

    问题描述 计算字符串最后一个单词的长度 单词以空格隔开 字符串长度小于5000 注 字符串末尾不以空格为结尾 include
  • QT中各种MessageBox的使用

    MessageBox h ifndef MESSAGEBOX H define MESSAGEBOX H include
  • vue+pg库+openlayer5+geoserver+离线地图瓦片构建gis地图+地图撒点+点击点出现地图弹框(***完整流程***)

    实现效果 ol5的apihttps openlayers org en latest apidoc module ol Feature Feature html getProperties 一 在vue项目中使用gis地图 实现地图的搭建
  • SpringBoot内置Tomcat 配置和切换

    目录 SpringBoot内置Tomcat 配置和切换 基本介绍 内置Tomcat 的配置 application yml配置 对上面代码解释一下方便理解 通过类来配置Tomcat 注销application yml 对tomcat 配置