默认情况下,Spring Boot 应用程序在嵌入式 Tomcat 服务器上启动,并监听默认端口 8080。如果您需要将默认的嵌入式服务器端口更改为其他端口号,可以使用以下几种方法之一:
- 嵌入式服务器配置
- 命令行参数
- 属性文件
在代码里以编程方式修改端口
WebServerFactoryCustomizer 接口用于自定义嵌入式服务器的配置。任何实现了此接口的 Bean 都会在服务器启动之前从容器工厂获取回调,允许您在服务器启动前进行诸如设置端口、地址、错误页面等配置。
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.stereotype.Component;
@Component
public class CustomWebServerFactory implements
WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {
@Override
public void customize(ConfigurableServletWebServerFactory factory) {
factory.setPort(8181);
}
}
在这个例子中,我们创建了一个名为 CustomWebServerFactory 的类,它实现了 WebServerFactoryCustomizer 接口,并且指定了泛型参数为 ConfigurableServletWebServerFactory。通过 customize 方法,我们可以设置服务器的端口为 8081。
通过命令行修改端口
我们还可以将端口号作为命令行参数传递:
java -jar your-app.jar --server.port=8081
通过配置文件修改端口
在任何 Spring Boot 应用程序的 application.properties 文件中进行一些简单的配置,我们就可以实现许多自定义设置。更改服务器端口就是一个典型的例子。
例如,要将服务器端口更改为 9000,您可以在 application.properties 文件中配置以下属性:
server.port=9000
通过这一简单的配置更改,Spring Boot 应用程序将不再默认监听端口 8080,而是监听端口 9000。
同样的YAML 配置文件可以这样修改:
server:
port : 9000
总结
通过上述任一方法,您可以轻松地更改 Spring Boot 应用程序的默认监听端口。选择最适合您的场景和需求的方法即可。