首页 > 其他分享 >如何在Spring Boot中不启动Web Server

如何在Spring Boot中不启动Web Server

时间:2023-11-30 17:57:27浏览次数:41  
标签:Web web spring Boot application Spring 服务器

XYHS:用方法4,spring.main.web-application-type=none,实测可行

如何在Spring Boot中不启动Web Server
1.介绍
Spring Boot是一个用于为各种应用快速创建新的Java应用程序的优秀框架。最流行的用途之一是作为web服务器。
但是,Spring Boot有许多不需要web服务器的场景:控制台应用程序、作业调度、批处理或流处理、无服务器应用程序等等。在本教程中,我们将介绍几种不用web服务器就可以使用Spring Boot的不同方法。

2.依赖管理
防止Spring引导应用程序启动嵌入式web服务器的最简单方法是不将web服务器启动器包含在我们的依赖项中。在Maven POM或Gradle构建文件中都不包含spring-boot-starter-web依赖项。

3.修改Spring Application
在Spring引导中禁用嵌入式web服务器的另一种方法是使用代码配置spring容器行为。我们可以使用SpringApplicationBuilder 构造器 :

// 构造spring boot 应用
new SpringApplicationBuilder(MainApplication.class)
  .web(WebApplicationType.NONE)
  .run(args);

  或者我们可以配置SpringApplication :

SpringApplication application = new SpringApplication(MainApplication.class);
application.setWebApplicationType(WebApplicationType.NONE);
application.run(args);

  

4.使用Application Properties配置文件

使用代码配置来禁用web服务器是硬编码方式。但是,如果我们想在特定的环境中创建web服务器呢?在这种情况下,我们可以使用Spring应用程序属性:

spring.main.web-application-type=none

  或者:

spring:
  main:
    web-application-type: none

  

这种方法的好处是我们可以有条件地启用web服务器。使用Spring配置文件,我们可以控制不同部署中的web服务器行为。例如,我们可以让在开发中运行的web服务器仅公开指标或其他Spring端点(用于监控任务执行情况),而在生产中出于安全原因禁用它。

5.结论
创建不使用web服务器的Spring引导应用程序有很多原因。在本文中,我们介绍了实现此目的的多种方法。每一种方法都有其优点和缺点,所以应该选择最符合我们需要的方法。
————————————————
版权声明:本文为CSDN博主「kerongao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kerongao/article/details/109576388

标签:Web,web,spring,Boot,application,Spring,服务器
From: https://www.cnblogs.com/wwssgg/p/17867925.html

相关文章

  • SpringBoot Resolved [org.springframework.web.multipart.support.MissingServletRe
    SpringBootResolved[org.springframework.web.multipart.support.MissingServletRequestPartException:Requiredrequestpart'file'isnotpresent]IDEA报错信息这个错误主要主要是指后端通过@RequestParam("file")注解标注的MultipartFile参数并没有获取到文件参数为n......
  • C#的HttpWebRequest发送form-data数据
    以下是使用C#中的HttpWebRequest发送post请求的示例代码,请求头为form-data,可以上传文件。你可以将它封装成一个通用的方法。1publicstaticstringHttpPost(stringurl,Dictionary<string,string>parameters,Dictionary<string,string>files)2{stringstrBou......
  • SpringBoot集成hutool配置定时任务,支持crontab和quartz表达式
    1、pom.xml引入hutool<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>修改version</version></dependency>2、Java文件packagecom.xxx.schedule;importcn.hutool.cron.CronUtil......
  • 【Spring】SpringBoot+RabbitMQ(direct/fanout/topic)の構築方法
     ■POM.xmlの中で、下記の内容を追加<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency>......
  • Web3.0 是00后最舒适的选择
    00后一代是社会变革的见证者和推动者,他们与前几代的差异显而易见。这一代年轻人在技术和信息方面长期接受教育,对新兴科技和互联网有着天然的亲近感。他们注重个性表达,崇尚自由,对数字化生活有着更为敏锐的嗅觉。这种独特的文化氛围为他们接纳Web3.0带来的变革提供了土壤。  W......
  • python的websockets库
    安装pipinstallwebsockets分为客户端和服务端两部分  服务端一般与异步的库一起用因为客户端不可能只服务一个客户所以要用异步处理多个客户 以asyncio示例 fromwebsockets.serverimportserveimportwebsocketsimportasyncioasyncdefstart(ws,path):#......
  • WebRTC的QOS技术如何提升音视频通话质量
    摘要随着GPT-4的发布,AI的风越吹越旺。GPT-4可以回答问题,可以写作,甚至可以基于一张草图生成html代码搭建一个网站。即构社区的一位开发者@倪同学就基于目前在研究的WebRTCQOS技术点对GPT-3.5跟GPT-4进行一场实验,ChatGPT会取代程序员还是成为最强辅助?以下为@倪同学的博文。ChatGPT取......
  • 【开源】基于JavaWeb的固始鹅块销售系统
    一、摘要1.1项目介绍基于JAVA+Vue+SpringBoot+MySQL的固始鹅块销售系统,包含了鹅块类型模块、固始鹅块模块、鹅块订单模块、评论管理模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,固始鹅块销售系统基于角色......
  • vulhub中spring的CVE-2018-1273漏洞复现
    ​ 1.影响版本SpringDataCommons1.13-1.13.10(IngallsSR10)SpringDataREST2.6-2.6.10(IngallsSR10)SpringDataCommons2.0to2.0.5(KaySR5)SpringDataREST3.0-3.0.5(KaySR5)2.漏洞原理SpringData是一个用于简化数据库访问,并支持云服务的开源框......
  • Spring Cloud 配置 Nacos
    一,下载Nacos 下载地址:https://github.com/alibaba/nacos/releases 二,启动Nacos安装Nacos的bin目录下,执行:startup.cmd-mstandalone 然后打开上图红框的地址 三,配置服务1配置Nacos创建命名空间(无论本地还是测试服务期,全部注册到Nacos上,通过命名空间可以区分......