如何在Spring Boot中不启动Web Server

如何在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引导应用程序有很多原因。在本文中,我们介绍了实现此目的的多种方法。每一种方法都有其优点和缺点,所以应该选择最符合我们需要的方法。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值