如何修改Spring Boot内置容器默认端口

默认情况下,Spring Boot 应用程序在嵌入式 Tomcat 服务器上启动,并监听默认端口 8080。如果您需要将默认的嵌入式服务器端口更改为其他端口号,可以使用以下几种方法之一:

  • 嵌入式服务器配置
  • 命令行参数
  • 属性文件

在代码里以编程方式修改端口

WebServerFactoryCustomizer 接口用于自定义嵌入式服务器的配置。任何实现了此接口的 Bean 都会在服务器启动之前从容器工厂获取回调,允许您在服务器启动前进行诸如设置端口、地址、错误页面等配置。

复制代码
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.stereotype.Component;

@Component
public class CustomWebServerFactory implements
      WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {

  @Override
  public void customize(ConfigurableServletWebServerFactory factory) {
      factory.setPort(8181);
  }
}

在这个例子中,我们创建了一个名为 CustomWebServerFactory 的类,它实现了 WebServerFactoryCustomizer 接口,并且指定了泛型参数为 ConfigurableServletWebServerFactory。通过 customize 方法,我们可以设置服务器的端口为 8081。

通过命令行修改端口

我们还可以将端口号作为命令行参数传递:

复制代码
java -jar your-app.jar --server.port=8081

通过配置文件修改端口

在任何 Spring Boot 应用程序的 application.properties 文件中进行一些简单的配置,我们就可以实现许多自定义设置。更改服务器端口就是一个典型的例子。

例如,要将服务器端口更改为 9000,您可以在 application.properties 文件中配置以下属性:

复制代码
server.port=9000

通过这一简单的配置更改,Spring Boot 应用程序将不再默认监听端口 8080,而是监听端口 9000。

同样的YAML 配置文件可以这样修改:

复制代码
server:
  port : 9000

总结

通过上述任一方法,您可以轻松地更改 Spring Boot 应用程序的默认监听端口。选择最适合您的场景和需求的方法即可。

相关推荐
vipxieliang14 分钟前
ValidX 迁移指南:v1.0.0/v1.0.1 → v1.1.0
后端
元界metalite20 分钟前
SpringBoot修改接口全字段更新为什么危险-MetaLite如何只更新变化字段
spring boot
Devin~Y22 分钟前
从内容社区到AI智能客服:Spring Boot + Spring Cloud + Spring AI 全栈实战面试拆解
java·spring boot·redis·elasticsearch·spring cloud·kafka·mybatis
未秃头的程序猿23 分钟前
从写CRUD到做AI Agent:我花了6个月转型,这是我的完整路线图
java·后端·ai编程
Java内核笔记24 分钟前
万字长文剖析 Spring Boot 4.1.0 启动流程源码:从 main 到就绪
java·后端
2602_9599609229 分钟前
电商大厂Java面试:从Spring Boot、JPA、微服务到Redis、Kafka、Spring Security与监控,谢飞机的爆笑三轮问答
java·jvm·spring boot·redis·面试题
码农进化录33 分钟前
Java 程序员的 AI 进化论 | Spring Boot 搭企业智能客服,从设计到上线
java·spring boot·openai
旺仔学长 哈哈35 分钟前
别只做车辆 CRUD:Spring Boot 共享汽车管理系统从预约到还车的完整实现---源码53766
java·spring boot·在线预约·共享汽车
weixin_BYSJ198738 分钟前
springboot技能与工具共享小程序---附源码29657
java·javascript·spring boot·python·小程序·django·php
leoZ23141 分钟前
Vue3 还原一个企业级后台-14-项目总结
开发语言·人工智能·后端·opencv·计算机视觉·数据挖掘·rust