Spring Boot删除嵌入式Tomcat服务器,启用Jetty服务器

快速指南,在Spring Boot应用程序中排除嵌入式tomcat服务器并添加Jetty Server。 配置删除tomcat并添加Jetty Server。

1.简介

在本教程中,我们将学习如何从Spring Boot应用程序中删除Tomcat服务器 。 实际上,一旦我们添加了“ spring-boot-starter-web ”依赖项,嵌入式服务器就会默认启动Spring Boot。

但是,Spring Boot使我们可以灵活地使用或不使用tomcat。 如果我们不希望我们可以排除此默认服务器。

默认情况下,Spring Boot带有3种类型的嵌入式服务器:Tomcat,Jetty和undertow。

首先,我们将了解如何排除tomcat和下一步添加jetty服务器

创建第一个Spring Boot应用程序以及如何测试Rest API。

2. Tomcat默认情况下

一旦我们将spring-boot-starter-web依赖关系作为pom.xml的一部分添加到使用spring boot进行Web应用程序开发中,它就会获得tomcat以及所有必需的依赖关系。 直接使用它并自动将其部署到tomcat总是很方便。

 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>  </dependency> 

但是,在某些情况下,当使用JMS而不是Web应用程序或想要添加Jetty时,不需要将tomcat用作Spring Boot应用程序的一部分。

3.排除Tomcat – Maven Pom.xml

要将tomcat从Spring Boot中排除,只需向Spring Boot Starter依赖项添加一个额外的块。 在依赖项部分,我们可以添加
<exclusions>标记,用于确保在构建时删除了给定的工件。

这是最简单的方法。

 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions>  </dependency> 

您可以使用该方法将Tomcat从Spring Boot中排除,也可以将其用于其他任何排除

4.排除Tomcat和所有服务器-注释

声明@SpringBootApplication批注时,有一种方法可以排除所有服务器,并且可以考虑像Web一样使用Spring Boot应用程序。

要将spring boot用作非Web应用程序,请使用以下命令。

 @SpringBootApplication (exclude = {EmbeddedServletContainerAutoConfiguration. class , WebMvcAutoConfiguration. class }) 

并且需要将以下属性添加到非休息应用程序,以使Spring Boot不会尝试启动
WebApplicationContext 。 这应该转到application.properties。

 spring.main.web-environment= false 

5.在Spring Boot中添加Jetty Server

如果您想在Spring启动应用程序中使用Jetty服务器,首先必须禁用默认的tomcat服务器,然后添加jetty依赖项“
spring-boot-starter-jetty ”。

 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId>  </dependency> 

在pom.xml中添加了jetty之后,在构建时,它将禁用tomcat并映射到Jetty配置。

6. Gradle –排除tomcat并添加Jetty

那么,这很容易。 只需在排除部分添加tomcat,并在依赖项部分添加jetty。

 configurations { compile.exclude module: "spring-boot-starter-tomcat"  }   dependencies { compile( "org.springframework.boot:spring-boot-starter-web:2.0.0.BUILD-SNAPSHOT" ) compile( "org.springframework.boot:spring-boot-starter-jetty:2.0.0.BUILD-SNAPSHOT" )  } 

7.结论

在本文中,我们已经了解了如何通过pom.xml和注释级别禁用tomcat。 如果您注释级别,则它将完全禁用Web应用程序功能。 始终建议使用Maven排除。

并且还了解了如何添加Jetty服务器。

翻译自: https://www.javacodegeeks.com/2020/04/spring-boot-remove-embedded-tomcat-server-enable-jetty-server.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/339704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 方式配置ssm,关于SSM以及Spring boot中对于Spring MVC配置的问题

SSM中 Spring MVC配置传统的web.xml配置web.xmlcontextConfigLocationclasspath*:applicationContext.xmlorg.springframework.web.context.ContextLoaderListenerencodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8encodingFilter/*SpringMV…

java 并发的原子性_Java并发教程–原子性和竞争条件

java 并发的原子性原子性是多线程程序中的关键概念之一。 我们说一组动作是原子的&#xff0c;如果它们都以不可分割的方式作为单个操作执行。 认为多线程程序中的一组操作将被串行执行是理所当然的&#xff0c;可能会导致错误的结果。 原因是由于线程干扰&#xff0c;这意味着…

linux 误删除mysql表能恢复吗,Linux误删数据恢复

引子指在键上飘&#xff0c;难免会湿手套。当你按下shiftdel键后&#xff0c;会不会突然心里凉透&#xff0c;当你执行rm -rf后&#xff0c;会不会马上去搜索哪个国家入境不需要签证。或者你还会遇到如下的情况&#xff1a;root4xem7:~# aliasalias cdrm -rfalias ddocker数据恢…

Apache Camel 3.1 –更多骆驼核心优化(第3部分)

我以前曾在博客中介绍过我们在下一个Camel 3.1版本中所做的优化 博客第1部分 博客第2部分 今天&#xff0c;我想简短介绍一下我们已经完成的最新开发&#xff0c;因为我们准备在本周末或下半年准备好构建和发布Camel 3.1。 从第2部分开始&#xff0c;我们设法在路由过程中将…

mysql error 1114,mysql error 1114 table is full 处理分享

问题描述&#xff1a;一、早上上班收到报警&#xff0c;用户中心某slave不同步。二、查看情况&#xff0c;发现mysql error 1114&#xff0c;The table ‘xxxx’ is full 。。。。。三、检查其他slave&#xff0c;都出现同样问题。四、解决问题方案1、网上解决方案a、修改tmp_…

jvm jinfo 参数_jinfo:JVM运行时配置的命令行浏览

jvm jinfo 参数在最近的一些博客中&#xff08;特别是在对Java EE 7性能调优和优化以及WildFly性能调优的书中的评论中&#xff09;&#xff0c;我引用了自己过去在某些Oracle JDK命令行工具上的博客文章。 令我震惊的是&#xff0c;我从来没有专门解决过漂亮的jinfo工具&#…

matlab int 积不出,matlab – 点积:*命令与循环给出不同的结果

我在Matlab,z和beta中有两个向量.矢量z是117&#xff1a;1 0.430742139435890 0.257372971229541 0.0965909090909091 0.694329541928697 0 0.394960106863064 0 0.100000000000000 1 0.264704325268675 0.387774594078319 0.269207605609567 0.472226643323253 0.750000000000…

49自动化测试中最常见的硒异常

开发人员将始终在编写代码时牢记不同的场景&#xff0c;但是在某些情况下&#xff0c;实现可能无法按预期工作。 相同的原则也适用于测试代码&#xff0c;该代码主要用于测试现有产品的功能&#xff0c;发现错误以及使产品100&#xff05;不受错误影响。 正确地说&#xff0c;…

鹰式价差matlab,鹰式期权:什么叫铁鹰式期权组合,蝶式价差期权?

蝶式期权套利 是利用 交割月份的价差进行 套期获利&#xff0c; 个方向相 反、 共享居中交割月份合约的跨期套利组成。是一种期权策略&#xff0c;风险有限&#xff0c;盈利也有限&#xff0c;是由一手牛市套利和一手熊市套利组合而成的。铁鹰式期权组合是牛市看跌价差期权组合…

angular8 rest_带有Angular JS的Java EE 7 – CRUD,REST,验证–第2部分

angular8 rest这是Angular JS承诺的Java EE 7的后续版本–第1部分 。 花了比我预期更长的时间&#xff08;找到时间来准备代码和博客文章&#xff09;&#xff0c;但是终于到了&#xff01; 应用程序 第1部分中的原始应用程序只是带有分页的简单列表&#xff0c;以及提供列表数…

php如果字符串有1 3 5,Day3-php 字符串1

字符串是由一系列字符组成&#xff0c;在PHP中&#xff0c;字符和字节一样&#xff0c;也就是说&#xff0c;一共有256种不同字符的可能性。1、字符串 定义方法字符串型可以用三种方法定义&#xff1a;单引号形式、双引号形式和Heredoc结构形式。单引号&#xff1a;不会解析变量…

带有Java Pojo作为输入输出示例的AWS Lambda函数

在上一教程中&#xff0c;我们看到了如何使用Java创建AWS Lambda函数&#xff0c;并传递了String作为输入&#xff0c;还返回了String作为Output。如果您是第一次创建lambda函数&#xff0c;我建议先阅读该教程。 在本教程中&#xff0c;我们将看到如何传递Java普通的旧Java对…

bing搜索php,PHP 使用bing搜索网站的api封装类用法

/*** 使用bing api搜索网站的PHP封装类** param* author 编程之家 jb51.cc jb51.cc**/class BingAPI{var $accountKey ;var $ServiceRootURL https://api.datamarket.azure.com/Bing/Search/;var $WebSearchURL;var $searchText;var $searchType;var $request_data;var $Auto…

php右侧弹窗QQ客服,JavaScript_网页右侧悬浮滚动在线qq客服代码示例,网页右侧悬浮滚动QQ在线客服 - phpStudy...

网页右侧悬浮滚动在线qq客服代码示例网页右侧悬浮滚动QQ在线客服代码function myEvent(obj,ev,fn){if (obj.attachEvent){obj.attachEvent(onev,fn);}else{obj.addEventListener(ev,fn,false);};};function getbyClass(id,sClass){var oParent document.getElementById(id);va…

测试Maven版本插件自动递增版本号

抽象 Maven版本插件是一个非常强大的工具&#xff0c;我在很大程度上依赖于它来协调软件版本。 通常&#xff0c;软件发行版本号遵循简单的1.0.0.0-SNAPSHOT格式。 但是最近我需要在版本号中添加限定符-类似于1.0-beta-SNAPSHOT或1.0.0-fix-bug-description-SNAPSHOT 。 在我第…

idea spark java,IntelliJ Idea 搭建spark 开发环境

笔者介绍的是在MAC环境下使用Idea搭建spark环境。环境:spark 2.0.0scala 2.11.8maven 3.9.9idea 151.Idea的安装.Idea可以在官网上下载。熟悉java的肯定都知道这个开发利器&#xff0c;可以在官网上进行下载&#xff0c;在此就不在赘述。有免费的和付费版本&#xff0c;对于我们…

optaplanner_OptaPlanner –具有真实道路距离的车辆路线

optaplanner在现实世界中&#xff0c;车辆路径问题&#xff08;VRP&#xff09;中的车辆必须走这条路&#xff1a;它们不能在客户之间直线行驶。 大多数VRP研究论文和演示都乐于忽略此实现细节。 和我一样&#xff0c;过去。 尽管使用道路距离&#xff08;而不是空中距离&#…

php 转换数组为小写,PHP如何将数组键转换为小写?

在PHP中将数组键转换为小写&#xff0c;我们可以在不使用循环的情况下来简单实现。我们只需要使用array_change_key_case()。array_change_key_case函数有两个参数&#xff0c;一个为数组&#xff0c;另一个可以为常量“CASE_LOWER”&#xff0c;那么我们在做大项目的时候可能会…

带有PostgreSQL的Docker Compose for Spring Boot应用程序

在此博客文章中&#xff0c;您将学习如何使用PostgreSQL配置Spring Boot应用程序以与Docker Compose一起运行。 这篇博客文章涵盖&#xff1a; Spring Boot应用程序Dockerfile配置&#xff0c;在依赖关系和资源之间进行了清晰的分离 用于通过PostgreSQL运行应用程序的Docker…

java中的jpa_JPA教程–在Java SE环境中设置JPA

java中的jpaJPA代表Java Persistence API&#xff0c;它基本上是一个规范&#xff0c;描述了一种将数据持久存储到持久存储&#xff08;通常是数据库&#xff09;中的方法。 我们可以将其视为类似于Hibernate之类的ORM工具的东西&#xff0c;除了它是Java EE规范的正式组成部分…