如何配置Spring Boot应用程序侦听的TCP/IP端口,使其不使用默认端口8080。


当前回答

您可以通过在您的配置(基于java或xml)中覆盖EmbeddedServletContainerFactory bean来指定端口。在这里,您可以为所使用的嵌入式servlet容器指定端口。请参阅Spring Boot - Core“嵌入式Servlet容器支持”段落和示例。希望这能有所帮助。

其他回答

如果你在使用应用程序。yml添加以下行到它

server:
     port: 9000

当然,随机端口是0。

你可以在java代码中设置port:

HashMap<String, Object> props = new HashMap<>();
props.put("server.port", 9999);

new SpringApplicationBuilder()
    .sources(SampleController.class)                
    .properties(props)
    .run(args);

或者在application.yml中:

server:
    port: 9999

或者在application.properties中:

server.port=9999

或者作为命令行参数:

-Dserver.port=9999

通过编程方式,使用spring boot 2.1.5:

import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.stereotype.Component;

@Component
public class CustomizationBean implements WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> {

    @Override
    public void customize(ConfigurableServletWebServerFactory server) {
        server.setPort(9000);
    }

}

如果你正在处理启动项目,你想要配置端口,你可以在应用程序中输入。属性文件 注意:属性文件应该在src/main/resource下

春天的属性

server.port = 9999 如果您使用CMD,则遵循此命令 -Dserver.port = 9999 对于默认端口,它的server.port=0 确保没有端口正在使用此端口号

根据所使用的应用程序配置文件,有三种方法可以做到这一点

a)如果您正在使用应用程序。属性文件集

server.port = 8090

b)如果您正在使用应用程序。yml文件设置YAML格式的服务器端口属性,如下所示

server:
     port: 8090

c)也可以在main方法中将属性设置为System属性

System.setProperty("server.port","8090");