Spring Boot 更改嵌入式服务器的默认端口
原文: https://howtodoinjava.com/spring-boot/change-server-default-port/
默认情况下,Spring Boot 应用程序从嵌入式 tomcat 服务器启动,并从默认端口 8080
开始。 我们可以使用以下任何一种方法,将的默认嵌入式服务器端口更改为任何其他端口。
提示 – 要扫描可用端口(使用操作系统本机来防止冲突),请使用
server.port=0
。 现在,spring boot 将为我们找到任何未分配的 http 端口。
1. 从属性文件更改默认服务器端口
我们只需在任何 Spring Boot 应用程序的应用程序属性文件中输入很少的内容,就可以做很多有趣的事情。 更改服务器端口是其中之一。
1.1. application.properties
application.properties
server.port=9000
1.1. application.yml
application.yml
server:
port : 9000
2. 以编程方式更改服务器端口
EmbeddedServletContainerCustomizer
接口用于自定义嵌入式 tomcat 配置。 在启动容器本身之前,任何这种类型的 bean 都会在容器工厂中获得回调,因此我们可以设置port
,address
和error pages
等。
2.1. Spring Boot2 – WebServerFactoryCustomizer
接口
通过实现ConfigurableWebServerFactory
接口,在 spring boot2 应用程序中更改默认服务器端口。
AppContainerCustomizer.java
@Component
public class AppContainerCustomizer
implements WebServerFactoryCustomizer< ConfigurableWebServerFactory > {
@Override
public void customize(ConfigurableWebServerFactory factory) {
factory.setPort(9000);
}
}
2.2. Spring Boot 1.x – EmbeddedServletContainerCustomizer
接口
通过实现EmbeddedServletContainerCustomizer
接口,在 Spring Boot 1.x 应用程序中更改默认服务器端口。
AppContainerCustomizer.java
@Component
public class AppContainerCustomizer implements EmbeddedServletContainerCustomizer {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.setPort(9000);
}
}
3. Spring Boot 从命令行更改默认端口
如果应用程序是作为超级 jar 构建的,我们也可以考虑使用此选项。 在这项技术中,我们将在应用程序运行命令期间传递server.port
参数。
$ java -jar -Dserver.port=9000 spring-boot-demo.jar
让我知道是否您可以通过其他任何方式来完成更改 Spring Boot 嵌入式服务器默认端口。
学习愉快!