Spring Boot 指定端口号启动

Spring Boot 是一款用于简化 Java EE 开发的框架,因其强大的特性和简洁的配置而广受欢迎。在许多情况下,我们可能需要指定应用程序的端口号,以避免与其他服务产生冲突。本文将介绍如何在 Spring Boot 中指定端口号及其相关实现。

1. 通过 application.properties 文件指定端口

Spring Boot 默认的端口号为 8080。如果想更改它,只需在 application.properties 文件中设置 server.port 属性。

示例配置

src/main/resources/application.properties 文件中添加以下内容:

server.port=9090

启动应用

当你启动 Spring Boot 应用时,它将会在 9090 端口运行。你可以使用浏览器访问 http://localhost:9090 来验证。

2. 通过命令行参数指定端口

除了修改配置文件外,还可以通过命令行参数启动应用时指定端口号。这种方式在某些临时需要修改端口的场景下非常有用。

示例命令

在终端中输入以下命令来启动 Spring Boot 应用:

java -jar your-application.jar --server.port=8081

这将使应用在 8081 端口运行。

3. 通过代码指定端口

有时,您可能需要在代码中动态设置端口。这通常是在应用启动时根据某些条件来定义。下面是一个简单的示例,展示如何在代码中设置端口。

示例代码

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.core.env.ConfigurableEnvironment;
import org.springframework.web.server.WebServer;
import org.springframework.boot.web.embedded.tomcat.ConfigurableTomcatWebServerFactory;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;

@SpringBootApplication
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(MyApplication.class);
        // 使用传递的参数或者设置默认值
        app.run(args);
    }

    @Bean
    public ConfigurableTomcatWebServerFactory servletContainer(ConfigurableEnvironment environment) {
        int port = Integer.parseInt(environment.getProperty("server.port", "8082"));
        ConfigurableTomcatWebServerFactory factory = new TomcatServletWebServerFactory();
        factory.setPort(port);
        return factory;
    }
}

在这个示例中,应用会检查环境中的 server.port 属性,并使用指定的端口(默认为 8082),你可以在应用启动时通过参数来更改它。

4. 流程图

以下是关于如何指定端口号启动 Spring Boot 应用的流程图:

flowchart TD
    A[开始] --> B{选择指定方式}
    B -->|配置文件| C[修改 application.properties]
    B -->|命令行| D[通过参数启动]
    B -->|代码| E[在代码中设置端口]
    C --> F[启动应用]
    D --> F
    E --> F
    F --> G[验证端口]
    G --> H[结束]

结尾

通过本文的介绍,我们可以看出在 Spring Boot 中有多种方式来指定应用启动的端口号。无论是通过配置文件、命令行参数,还是在代码中动态设置,都能灵活地满足开发和测试的需求。通过合理的选择,可以在不同的环境中高效地部署 Spring Boot 应用。这一特性不仅提高了开发效率,也让服务的管理变得更加方便。如果你还有其他问题,欢迎随时提问!