Spring Boot 更改嵌入式服务器的默认端口

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 都会在容器工厂中获得回调,因此我们可以设置portaddresserror 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 嵌入式服务器默认端口

学习愉快!