如何将Spring Boot应用程序运行到自定义端口

简介: 如何将Spring Boot应用程序运行到自定义端口

在开发和部署Spring Boot应用程序时,有时我们需要改变默认的服务器端口号。这可能是因为需要同时运行多个服务而避免端口冲突,或者出于安全考虑希望使用特定端口。本文将详细介绍如何配置Spring Boot应用程序以使其能够在用户指定的端口上运行。

Spring Boot默认端口

默认情况下,当您创建一个新的Spring Boot项目并启动内置的Tomcat服务器时,它会在8080端口监听HTTP请求。如果您直接访问http://localhost:8080/,通常能够看到您的应用正在运行。

更改端口的方法

更改Spring Boot应用程序所使用的端口可以通过多种方式进行设置。下面将介绍几种常见的方法:

方法一:通过application.properties或application.yml文件配置

这是最简单也是推荐的做法。您只需打开src/main/resources目录下的application.properties(或application.yml)文件,并添加或修改以下内容:

  • 对于application.properties:
    server.port=8090
    
  • 对于application.yml:
    server:
      port: 8090
    

这里将端口号设置为了8090。您可以根据实际需求替换为您想要使用的任何有效端口号。

方法二:使用命令行参数

如果您希望通过命令行来临时覆盖配置文件中的端口设置,则可以在启动应用程序时加上特定的JVM参数。例如:

java -jar your-app.jar --server.port=8090

这种方式非常适合于测试不同环境下的行为或是快速切换端口而不需改动源代码或配置文件。

方法三:编程方式设定

虽然不常见,但有时您可能希望通过编程的方式来动态地决定端口号。这可以通过在主类中注入ServerProperties对象并设置其port属性实现:

import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.stereotype.Component;

@Component
public class CustomPortConfig implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
   
    @Override
    public void customize(ConfigurableServletWebServerFactory factory) {
   
        factory.setPort(8090); // 设置新的端口号
    }
}

这种方法给予开发者更多的灵活性,比如可以从数据库读取端口号或基于某些条件逻辑来决定最终值。

验证端口变更

完成上述任一方法后,请确保重新启动您的Spring Boot应用。之后,尝试访问http://localhost:<新端口号>/来验证是否成功变更了端口。如果一切正常,您应该能看到您的应用页面。

结论

通过以上步骤,我们可以轻松地将Spring Boot应用配置为在任意指定端口上运行。无论是通过简单的属性文件编辑、灵活的命令行选项还是更复杂的程序化设置,Spring Boot都提供了足够的工具来满足各种场景下的需求。掌握这些技巧不仅有助于提高开发效率,还能增强对应用部署环境的理解与控制力。


请根据实际情况调整文中提到的具体路径、文件名等信息。此外,考虑到网络环境的安全性,在选择端口号时也应遵循最佳实践,避免使用众所周知的服务端口(如80, 443等),除非确实必要且已采取适当的安全措施。

目录
相关文章
|
人工智能 Java Serverless
【MCP教程系列】搭建基于 Spring AI 的 SSE 模式 MCP 服务并自定义部署至阿里云百炼
本文详细介绍了如何基于Spring AI搭建支持SSE模式的MCP服务,并成功集成至阿里云百炼大模型平台。通过四个步骤实现从零到Agent的构建,包括项目创建、工具开发、服务测试与部署。文章还提供了具体代码示例和操作截图,帮助读者快速上手。最终,将自定义SSE MCP服务集成到百炼平台,完成智能体应用的创建与测试。适合希望了解SSE实时交互及大模型集成的开发者参考。
12473 60
|
8月前
|
前端开发 Java 关系型数据库
基于Java+Springboot+Vue开发的鲜花商城管理系统源码+运行
基于Java+Springboot+Vue开发的鲜花商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的鲜花商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。技术学习共同进步
529 7
|
3月前
|
监控 安全 Java
使用 @HealthEndpoint 在 Spring Boot 中实现自定义健康检查
Spring Boot 通过 Actuator 模块提供了强大的健康检查功能,帮助开发者快速了解应用程序的运行状态。默认健康检查可检测数据库连接、依赖服务、资源可用性等,但在实际应用中,业务需求和依赖关系各不相同,因此需要实现自定义健康检查来更精确地监控关键组件。本文介绍了如何使用 @HealthEndpoint 注解及实现 HealthIndicator 接口来扩展 Spring Boot 的健康检查功能,从而提升系统的可观测性与稳定性。
265 0
使用 @HealthEndpoint 在 Spring Boot 中实现自定义健康检查
|
3月前
|
XML Java 测试技术
使用 Spring 的 @Import 和 @ImportResource 注解构建模块化应用程序
本文介绍了Spring框架中的两个重要注解`@Import`和`@ImportResource`,它们在模块化开发中起着关键作用。文章详细分析了这两个注解的功能、使用场景及最佳实践,帮助开发者构建更清晰、可维护和可扩展的Java应用程序。
235 0
|
9月前
|
JavaScript 前端开发 Java
Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use;端口冲突的原理与解决方案
本文解决了Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in use的问题,并通过介绍端口的使用原理和操作系统的端口管理机制,可以更有效地解决端口冲突问题,并确保Web服务器能够顺利启动和运行。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
10月前
|
Java Maven 开发者
编写SpringBoot的自定义starter包
通过本文的介绍,我们详细讲解了如何创建一个Spring Boot自定义Starter包,包括自动配置类、配置属性类、`spring.factories`文件的创建和配置。通过自定义Starter,可以有效地复用公共配置和组件,提高开发效率。希望本文能帮助您更好地理解和应用Spring Boot自定义Starter,在实际项目中灵活使用这一强大的功能。
840 17
|
11月前
|
负载均衡 IDE Java
SpringBoot整合XXL-JOB【04】- 以GLUE模式运行与执行器负载均衡策略
在本节中,我们将介绍XXL-JOB的GLUE模式和集群模式下的路由策略。GLUE模式允许直接在线上改造方法为定时任务,无需重新部署。通过一个测试方法,展示了如何在调度中心配置并使用GLUE模式执行定时任务。接着,我们探讨了多实例环境下的负载均衡策略,确保任务不会重复执行,并可通过修改路由策略(如轮训)实现任务在多个实例间的均衡分配。最后,总结了GLUE模式和负载均衡策略的应用,帮助读者更深入理解XXL-JOB的使用。
601 9
SpringBoot整合XXL-JOB【04】-  以GLUE模式运行与执行器负载均衡策略
|
9月前
|
JSON Java 数据格式
微服务——SpringBoot使用归纳——Spring Boot中的全局异常处理——拦截自定义异常
本文介绍了在实际项目中如何拦截自定义异常。首先,通过定义异常信息枚举类 `BusinessMsgEnum`,统一管理业务异常的代码和消息。接着,创建自定义业务异常类 `BusinessErrorException`,并在其构造方法中传入枚举类以实现异常信息的封装。最后,利用 `GlobalExceptionHandler` 拦截并处理自定义异常,返回标准的 JSON 响应格式。文章还提供了示例代码和测试方法,展示了全局异常处理在 Spring Boot 项目中的应用价值。
428 0
|
12月前
|
设计模式 XML Java
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
本文详细介绍了Spring框架的核心功能,并通过手写自定义Spring框架的方式,深入理解了Spring的IOC(控制反转)和DI(依赖注入)功能,并且学会实际运用设计模式到真实开发中。
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
|
12月前
|
XML Java 数据格式
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式