当Spring启动应用程序启动时,Tomcat等嵌入式服务器以默认端口启动 . 嵌入式tomcat默认以8080端口启动 . 有许多方法可以更改默认服务器端口 .
Using Property File (.properties/.yml)
要使用属性文件更改服务器端口,我们需要配置 server.port 属性 .
a . 在类路径中使用application.properties,例如src \ main \ resources \ application.properties
server.port = 8585
服务器将以8585端口启动 . 要获取随机服务器端口,请为该属性指定0 .
server.port = 0
现在,spring boot将在系统中任何服务器当前未使用的端口上启动服务器 .
b . 在类路径中使用application.yml,例如src \ main \ resources \ application.yml .
server:
port: 8585
服务器将以8585端口开始 .
对于随机端口,分配0 .
server:
port: 0
Using java Command with --server.port or -Dserver.port
假设我们有一个名为my-app.jar的可执行JAR,然后在使用java命令启动spring boot应用程序时,我们可以使用如下参数 .
使用--server.port
java -jar my-app.jar --server.port=8585
使用-Dserver.port
java -jar -Dserver.port=8585 my-app.jar
服务器将以8585端口开始 .
Using java Command with --port or -Dport in Short
简而言之,我们可以删除server关键字并使其成为任何短关键字,如--port和-Dport . 我们可以使用任何短关键字 . 这里我们使用port作为短关键字 . 为了实现它,我们需要在属性文件中配置占位符,如下所示 .
使用application.properties
server.port=${port:8282}
使用application.yml
server:
port: ${port:8282}
如果我们不将端口作为参数传递,那么默认服务器将以8282开始 . 如果我们想要一个不同的端口,那么我们需要在参数中传递所需的端口,如下所示 . 假设我们有一个名为my-app.jar的可执行JAR .
使用--port
java -jar my-app.jar --port=8585
使用-Dport
java -jar -Dport=8585 my-app.jar
服务器将以8585端口开始 .
Using SERVER_PORT with SpringApplication Programmatically
SpringApplication有一个setDefaultProperties()方法,用于更改spring引导默认属性 . 假设我们想要更改默认端口,那么我们需要创建一个Map并使用SERVER_PORT键放置一个端口 . 找到这个例子 .
MyApplication.java
package com.humoyun;
import java.util.HashMap;
import java.util.Map;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication application = new SpringApplication(MyApplication.class);
Map map = new HashMap<>();
map.put("SERVER_PORT", "8585");
application.setDefaultProperties(map);
application.run(args);
}
}
Spring启动将使用8585端口启动服务器 .