如何为Spring Boot应用程序配置端口

1059

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


12
如果有人感兴趣,这里展示了如何有多个端口-https://dev59.com/GVoV5IYBdhLWcg3wXNs9 - Betlista
如果您使用“yml”文件进行配置,则可以使用以下内容: server: port: 8081 同时,将您的主类注释为“@SpringBootApplication”,并删除“@EnableAutoConfiguration”。 - Keaz
你的项目[application.properties]中添加以下内容: server.port=8080 - Lahiru Samishka
在应用程序属性中设置server.port=8080。此配置位于org.springframework.boot.autoconfigure.web下的ServerProperties.class类中。 - Atif
64个回答

12

事实上,最简单的方法是设置 server.port 属性。

如果你正在使用 STS 作为 IDE,从版本 3.6.7 开始,你实际上有一个 Spring Properties Editor 来打开属性文件。

这个编辑器为所有 Spring Boot 属性提供自动完成功能。如果你输入 port 并按下 CTRL + SPACE,server.port 将是第一个选项。


1
或者,如果您正在使用Intellij IDEA,自动完成也可以工作。 ;) - Lucky

12

spring-web模块默认提供内嵌的Tomcat服务器,运行在端口8080下。如果您需要更改应用程序的端口号,则可以进入application.properties文件,并使用server.port属性配置端口号。

  server.port= 9876

那么你的应用程序正在端口9876下运行。


11

使用像其他答案中提到的实例属性server.port=8080的方式肯定是可行的。只是想提一下,你也可以暴露一个环境属性:

SERVER_PORT=8080

最近的Spring Boot版本中,它能够将 "." 替换为 "_" 并将环境变量转换为大写字母,这非常适用于容器中。你只需要定义该环境变量而不需要添加/编辑 application.properties 或通过命令行传递系统属性(例如:-Dserver.port=$PORT)。


SERVER_PORT=8081 mvn spring-boot:run - Brent Bradburn

11

希望这可以帮助你

application.properties => 
server.port=8090
application.yml =>
server port: 8090

application.yml => server: port: 8090 - geek

9
在application.properties文件中提供端口号将解决该问题。
 server.port = 8080

"

端口取决于您的选择,即您想要托管应用程序的位置。

"

9

1.1 通过属性文件更新。

/src/main/resources/application.properties

server.port=8888

通过yaml文件进行更新。

   server:

     port: 8888

EmbeddedServletContainerCustomizer

@Component
public class CustomContainer implements EmbeddedServletContainerCustomizer {

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {

        container.setPort(8888);

    }

}

9
只需在项目的 src/main/resources 目录下放置一个 application.properties 文件,并在其中添加相应的配置即可。
server.port=****

其中****代表端口号。


9

您可以使用以下方法添加端口。

  1. 运行 -> 配置部分

  2. application.xml 中添加 server.port=XXXX


1
你是指 application.yml 文件吗?你使用的是哪个 IDE?请具体说明。 - Lucky

8

默认情况下,Spring-web模块提供一个嵌入的Tomcat服务器,运行在8080端口。

您可以按以下方式更改它 -

A)如果您正在使用gradle,则可以在应用程序.yml中设置属性:

 server:  
      port: 8042

B)如果您使用的是Maven,则可以在application.properties文件中设置属性:

server.port: 8042

C)如果在自己的配置文件中有端口,并且想在运行时设置它。

通过实现WebServerFactoryCustomizer接口 - Spring 2.x

@Component
public class MyTomcatWebServerCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {

    @Override
    public void customize(TomcatServletWebServerFactory factory) {
        // customize the factory here
        factory.setPort(8042);
    }
}

通过实现EmbeddedServletContainerCustomizer接口 - Spring 1.x

@Component
public class CustomizationBean implements EmbeddedServletContainerCustomizer {

    @Override
    public void customize(ConfigurableEmbeddedServletContainer container) {
        // customize here
        container.setPort(8042);
    }
}

如果你没有做任何奇怪的事情,我同意 A) 和 B) 应该是你的选择。 - Javi Vazquez

7

您可以在位于 /src/main/resources 下的 application.properties 文件中设置。

server.port = 8090

这个问题在上面已经有更详细的回答了。 - MoKi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接