如何在Spring boot中修改默认端口

简介: 如何在Spring boot中修改默认端口

文章目录



如何在Spring boot中修改默认端口


介绍


Spring boot为应用程序提供了很多属性的默认值。但是有时候,我们需要自定义某些属性,比如:修改内嵌服务器的端口号。


本篇文章就来讨论这个问题。


使用Property文件


第一种方式,也是最常用的方式就是在属性文件中,覆盖默认的配置。对于服务器的端口来说,该配置就是:server.port。


默认情况下,server.port值是8080。 我们可以在application.properties中这样修改为8081:


server.port=8081


如果你使用的是application.yml,那么需要这样配置:


server:
  port : 8081


这两个文件都会在Spring boot启动的时候被加载。


如果同一个应用程序需要在不同的环境中使用不同的端口,这个时候你就需要使用到Spring Boot的profile概念,不同的profile使用不同的配置文件。


比如你在application-dev.properties中:


server.port=8081


在application-qa.properties 中:


server.port=8082


在程序中指定


我们可以在程序中直接指定应用程序的端口,如下所示:


@SpringBootApplication
public class CustomApplication {
    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(CustomApplication.class);
        app.setDefaultProperties(Collections
          .singletonMap("server.port", "8083"));
        app.run(args);
    }
}


另外一种自定义服务的方法就是实现WebServerFactoryCustomizer接口:


@Component
public class ServerPortCustomizer
        implements WebServerFactoryCustomizer<ConfigurableWebServerFactory> {
    @Override
    public void customize(ConfigurableWebServerFactory factory) {
        factory.setPort(8086);
//        factory.setAddress("");
    }
}


使用ConfigurableWebServerFactory可以自定义包括端口在内的其他很多服务器属性。


使用命令行参数


如果应用程序被打包成jar,我们也可以在命令行运行时候,手动指定 server.port 。


java -jar spring-5.jar --server.port=8083


或者这样:


java -jar -Dserver.port=8083 spring-5.jar


值生效的顺序


上面我们将了这么多修改自定义端口的方式,那么他们的生效顺序是怎么样的呢?


  1. 内置的server配置
  2. 命令行参数
  3. property文件
  4. @SpringBootApplication配置的主函数
相关文章
|
5天前
|
Java 应用服务中间件 Maven
SpringBoot 项目瘦身指南
SpringBoot 项目瘦身指南
62 0
|
5天前
|
NoSQL Java 数据库
【问题篇】springboot项目通过数据库限制实例端口号
【问题篇】springboot项目通过数据库限制实例端口号
24 0
|
5天前
|
前端开发 Java 数据库连接
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
Springboot-MyBatis配置-配置端口号与服务路径(idea社区版2023.1.4+apache-maven-3.9.3-bin)
34 0
|
5天前
|
安全 Java 应用服务中间件
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
33 0
江帅帅:Spring Boot 底层级探索系列 03 - 简单配置
|
5天前
|
XML Java C++
【Spring系列】Sping VS Sping Boot区别与联系
【4月更文挑战第2天】Spring系列第一课:Spring Boot 能力介绍及简单实践
38 0
【Spring系列】Sping VS Sping Boot区别与联系
|
5天前
|
XML 监控 druid
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
【Java专题_02】springboot+mybatis+pagehelper分页插件+druid数据源详细教程
64 0
|
5天前
|
开发框架 Java .NET
SpringBoot3中的属性绑定注解和YMAL配置文件、日志
SpringBoot3中的属性绑定注解和YMAL配置文件、日志
|
5天前
|
Java Linux
linux一键启动和停止多个端口服务脚本:springboot项目打jar包指定多个端口
linux一键启动和停止多个端口服务脚本:springboot项目打jar包指定多个端口
|
5天前
|
Java
springboot项目打包瘦身
springboot项目打包瘦身
|
5月前
|
Java 应用服务中间件 Linux
linux安装jdk1.8 +nginx +springboot 实现通过nginx80转发8888端口访问springboot程序
linux安装jdk1.8 +nginx +springboot 实现通过nginx80转发8888端口访问springboot程序
109 0