企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Spring Boot 更改嵌入式服务器的默认端口 > 原文: [https://howtodoinjava.com/spring-boot/change-server-default-port/](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` ```java server.port=9000 ``` #### 1.1. `application.yml` `application.yml` ```java server: port : 9000 ``` ## 2\. 以编程方式更改服务器端口 [`EmbeddedServletContainerCustomizer`](https://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/context/embedded/EmbeddedServletContainerCustomizer.html)接口用于**自定义嵌入式 tomcat 配置**。 在启动容器本身之前,任何这种类型的 bean 都会在容器工厂中获得回调,因此我们可以设置`port`,`address`和`error pages`等。 #### 2.1. Spring Boot2 – `WebServerFactoryCustomizer`接口 通过实现`ConfigurableWebServerFactory`接口,在 spring boot2 应用程序中更改默认服务器端口。 `AppContainerCustomizer.java` ```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` ```java @Component public class AppContainerCustomizer implements EmbeddedServletContainerCustomizer { @Override public void customize(ConfigurableEmbeddedServletContainer container) { container.setPort(9000); } } ``` ## 3\. Spring Boot 从命令行更改默认端口 如果应用程序是作为[超级 jar](https://howtodoinjava.com/maven/maven-shade-plugin-create-uberfat-jar-example/) 构建的,我们也可以考虑使用此选项。 在这项技术中,我们将在应用程序运行命令期间传递`server.port`参数。 ```java $ java -jar -Dserver.port=9000 spring-boot-demo.jar ``` 让我知道是否您可以通过其他任何方式来完成**更改 Spring Boot 嵌入式服务器默认端口**。 学习愉快!