# 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 嵌入式服务器默认端口**。

学习愉快！