如何更改 Spring Boot 的默认端口
更过参看: https://www.baeldung.com/spring-boot-change-port
1. 使用属性文件
定制 Spring Boot 的最快,最简单的方法是覆盖默认属性的值。对于服务器端口,我们要更改的属性是 server.port。
默认情况下,嵌入式服务器从端口8080开始。让我们看看如何在 application.properties 文件中提供不同的值:
server.port=8081
现在服务器将在端口8081上启动。
同样,如果我们使用 application.yml 文件,则可以执行以下操作:
server: port : 8081
如果将这两个文件放在 Maven 应用程序的 src / main / resources目录中,则它们会由 Spring Boot 自动加载。
特定于环境的端口
如果我们有一个部署在不同环境中的应用程序,我们可能希望它在每个系统的不同端口上运行。
通过将属性文件方法与 Spring 概要文件结合起来,我们可以轻松实现这一目标。具体来说,我们可以为每个环境创建一个属性文件。
例如,我们将有一个 application-dev.properties 文件,其内容为:
server.port=8081
然后,我们将添加另一个具有不同端口的 application-qa.properties 文件:
server.port=8082
在大多数情况下,属性文件配置应足够。
2. 程序配置
我们可以通过启动应用程序时设置特定属性或自定义嵌入式服务器配置来以编程方式配置端口。
首先,让我们看看如何在主 @SpringBootApplication 类中设置属性:
@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); } }
请注意,这适用于Spring Boot 2.x版本。
对于Spring Boot 1.x,我们可以类似地实现EmbeddedServletContainerCustomizer接口。
3. 使用命令行参数
将应用程序打包为 jar 并运行时,可以使用 java 命令设置 server.port 参数:
java -jar spring-5.jar --server.port=8083
或使用等效语法:
java -jar -Dserver.port=8083 spring-5.jar
4.评估顺序
最后,让我们来看一下Spring Boot对这些方法进行评估的顺序。
基本上,配置优先级是:
嵌入式服务器配置
命令行参数
属性文件
@SpringBootApplication主要配置
共 0 条评论