如何在 IDEA 中在启动 Spring Boot 项目时加参数

在日常开发中,我们经常需要在启动 Spring Boot 项目的时候,临时修改一些参数,例如 端口号运行环境(profile)日志级别 等等。除了在 application.yml 文件里修改,我们还可以通过在 IDEA 启动配置中添加参数的方式来实现。这种方式更加灵活,适合临时调试或者本地开发时使用。

本文将详细介绍在 IDEA 中为 Spring Boot 启动项目加参数的方法。


一、在 application.yml 中配置端口号(默认方式)

application.yml 文件中可以直接写配置,例如修改端口号:

server:
  port: 8080

启动时项目会监听 8080 端口。
不过这种方式是写死在配置文件里的,如果要频繁切换端口或者测试不同环境,就不够灵活了。


二、通过 IDEA 启动配置添加参数

在 IDEA 里,点击右上角的运行/调试配置,选择 Edit Configurations,可以看到两个常用的参数输入框:

  • VM Options
  • Program arguments

在这里插入图片描述

这两者都可以传参,但作用范围不同。


1. VM Options(JVM 参数)

在 VM Options 中添加参数时,使用 -D 前缀,例如:

-Dserver.port=8082 -Dspring.profiles.active=dev -Dlogging.level.root=DEBUG

特点:

  • -Dkey=value 形式,会作为 JVM 系统属性
  • Spring Boot 会自动读取并覆盖配置文件里的值。
  • 也可以用来配置一些 JVM 相关的参数(比如内存、GC 等)。

等价于在代码中调用:

System.getProperty("server.port");

2. Program arguments(程序参数)

在 Program arguments 中添加参数时,使用 -- 前缀,例如:

--server.port=8083 --spring.profiles.active=test --logging.level.root=DEBUG

特点:

  • --key=value 形式,Spring Boot 启动时会自动解析。
  • 用来覆盖 application.ymlapplication.properties 中的配置。
  • 常用来传递业务相关参数,例如运行环境、端口号、日志级别等。

三、优先级说明

Spring Boot 对配置的加载有优先级,大体顺序如下(从低到高):

  1. application.yml / application.properties(默认配置文件)
  2. application-{profile}.yml(不同环境的配置文件,例如 application-dev.yml
  3. Program arguments--server.port=8083
  4. VM Options-Dserver.port=8082

👉 如果同一个参数在多个地方都设置了,优先级高的会覆盖低的
比如:在 application.yml 中设置端口是 8080,在 Program arguments 中传 --server.port=8083,最终端口就是 8083


四、推荐用法

  • 业务参数(端口、profile、日志级别等):用 --,写在 Program arguments
  • JVM 参数(堆大小、GC 配置、系统属性等):用 -D,写在 VM Options

这样既符合习惯,也便于区分不同类型的配置。


五、总结

在 IDEA 中启动 Spring Boot 项目时,可以通过以下方式传递参数:

  1. 修改配置文件application.yml):适合固定配置。
  2. VM Options(-D):传递 JVM 系统属性或 Spring Boot 参数。
  3. Program arguments(–):传递 Spring Boot 参数,覆盖配置文件。

通过合理使用这三种方式,就能更加灵活地控制 Spring Boot 项目的启动参数。


Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐