如何在 IDEA 中在启动 Spring Boot 项目时加参数
如何在 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.yml
或application.properties
中的配置。 - 常用来传递业务相关参数,例如运行环境、端口号、日志级别等。
三、优先级说明
Spring Boot 对配置的加载有优先级,大体顺序如下(从低到高):
application.yml
/application.properties
(默认配置文件)application-{profile}.yml
(不同环境的配置文件,例如application-dev.yml
)- Program arguments(
--server.port=8083
) - 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 项目时,可以通过以下方式传递参数:
- 修改配置文件(
application.yml
):适合固定配置。 - VM Options(-D):传递 JVM 系统属性或 Spring Boot 参数。
- Program arguments(–):传递 Spring Boot 参数,覆盖配置文件。
通过合理使用这三种方式,就能更加灵活地控制 Spring Boot 项目的启动参数。