文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何在 Spring Boot中更改默认端口

2023-09-04 09:41

关注

在本文中,您将学习如何在 Spring Boot 中更改默认端口。默认情况下,嵌入式 Web 服务器使用 8080端口来启动 Spring 引导应用程序。有几种方法可以更改该端口,如下所述。

使用配置文件更改端口

在 Spring Boot 中更改默认端口的最简单、更快捷的方法是覆盖配置文件中的默认值。Spring 引导使用server.port配置属性来指定端口。

以下示例演示如何在application.properties文件中指定自定义端口:

server.port=8888

现在服务器将在8888端口上启动应用程序。为application.yml,您需要添加以下内容:

server:    port: 8888

如果将上述文件放置在src/main/resources/文件夹中,Spring Boot 会自动加载。

使用系统属性更改端口

您还可以设置系统属性来更改 Spring 引导应用程序的默认端口。您需要做的就是在将启动服务器的操作系统上设置一个SERVER_PORT环境变量。

对于基于 Unix 的操作系统,请键入以下命令以设置环境变量:

export SERVER_PORT=8888

对于Windows操作系统,您必须使用以下命令:

setx SERVER_PORT 8888

使用命令行参数更改端口

在 Spring 引导中更改默认端口的另一种方法是在启动应用程序时使用命令行参数。例如,如果要将应用程序打包并作为 jar 文件运行,则可以使用 Java 命令设置server.port参数:

$ java -jar spring-boot-app.jar --server.port=8888

上述命令等效于以下内容:

$ java -jar -Dserver.port=8888 spring-boot-app.jar

使用编程配置更改端口

您可以在启动应用程序或自定义嵌入式服务器配置时以编程方式更改默认端口。

若要在启动应用程序时在主应用程序类中设置端口,请使用以下代码:

@SpringBootApplicationpublic class Application {    public static void main(String[] args) {        SpringApplication application = new SpringApplication(Application.class);        application.setDefaultProperties(Collections.singletonMap("server.port", "8888"));        application.run(args);    }}

要自定义嵌入式服务器配置,您必须实现如下所示的WebServerFactoryCustomizer接口:

@Componentpublic class PropertiesCustomizer        implements WebServerFactoryCustomizer {    @Override    public void customize(ConfigurableWebServerFactory factory) {        factory.setPort(8888);    }}

特定于环境的端口

如果应用程序部署在不同的环境中,则可能需要在不同的端口上运行它。

例如,您可能希望将 8888用于开发,将 8889用于 Spring 引导应用程序的生产环境。​​​​​​​

为此,请在src/main/resources/文件夹中创建一个名为application-dev.properties开发环境的新文件,其中包含以下内容:

server.port=8888

接下来,使用不同的端口为生产环境创建一个application-prod.properties文件:

server.port=8889

要激活所需的 Spring 引导配置文件,请将以下属性添加到该application.properties文件中:

# spring boot active profile - div or prodspring.profiles.active=dev

就是这样。Spring 引导将自动为当前活动的配置文件选择服务器端口。

更改为随机端口

如果要在任何可用的随机端口上运行 Spring Boot 应用程序,只需设置server.port=0属性即可。嵌入式 Web 服务器将使用操作系统本机查找可用端口,以防止冲突并将其分配给应用程序。

来源地址:https://blog.csdn.net/allway2/article/details/128210587

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-服务器
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯