在IDEA中啟動(dòng) Spring Boot 項(xiàng)目時(shí)加參數(shù)的詳細(xì)過(guò)程
如何在 IDEA 中在啟動(dòng) Spring Boot 項(xiàng)目時(shí)加參數(shù)
在日常開(kāi)發(fā)中,我們經(jīng)常需要在啟動(dòng) Spring Boot 項(xiàng)目的時(shí)候,臨時(shí)修改一些參數(shù),例如 端口號(hào)、運(yùn)行環(huán)境(profile)、日志級(jí)別 等等。除了在 application.yml 文件里修改,我們還可以通過(guò)在 IDEA 啟動(dòng)配置中添加參數(shù)的方式來(lái)實(shí)現(xiàn)。這種方式更加靈活,適合臨時(shí)調(diào)試或者本地開(kāi)發(fā)時(shí)使用。
本文將詳細(xì)介紹在 IDEA 中為 Spring Boot 啟動(dòng)項(xiàng)目加參數(shù)的方法。
一、在application.yml中配置端口號(hào)(默認(rèn)方式)
在 application.yml 文件中可以直接寫(xiě)配置,例如修改端口號(hào):
server: port: 8080
啟動(dòng)時(shí)項(xiàng)目會(huì)監(jiān)聽(tīng) 8080 端口。
不過(guò)這種方式是寫(xiě)死在配置文件里的,如果要頻繁切換端口或者測(cè)試不同環(huán)境,就不夠靈活了。
二、通過(guò) IDEA 啟動(dòng)配置添加參數(shù)
在 IDEA 里,點(diǎn)擊右上角的運(yùn)行/調(diào)試配置,選擇 Edit Configurations,可以看到兩個(gè)常用的參數(shù)輸入框:
- VM Options
- Program arguments

這兩者都可以傳參,但作用范圍不同。
1.VM Options(JVM 參數(shù))
在 VM Options 中添加參數(shù)時(shí),使用 -D 前綴,例如:
-Dserver.port=8082 -Dspring.profiles.active=dev -Dlogging.level.root=DEBUG
特點(diǎn):
-Dkey=value形式,會(huì)作為 JVM 系統(tǒng)屬性。- Spring Boot 會(huì)自動(dòng)讀取并覆蓋配置文件里的值。
- 也可以用來(lái)配置一些 JVM 相關(guān)的參數(shù)(比如內(nèi)存、GC 等)。
等價(jià)于在代碼中調(diào)用:
System.getProperty("server.port");2.Program arguments(程序參數(shù))
在 Program arguments 中添加參數(shù)時(shí),使用 -- 前綴,例如:
--server.port=8083 --spring.profiles.active=test --logging.level.root=DEBUG
特點(diǎn):
--key=value形式,Spring Boot 啟動(dòng)時(shí)會(huì)自動(dòng)解析。- 用來(lái)覆蓋
application.yml或application.properties中的配置。 - 常用來(lái)傳遞業(yè)務(wù)相關(guān)參數(shù),例如運(yùn)行環(huán)境、端口號(hào)、日志級(jí)別等。
三、優(yōu)先級(jí)說(shuō)明
Spring Boot 對(duì)配置的加載有優(yōu)先級(jí),大體順序如下(從低到高):
application.yml/application.properties(默認(rèn)配置文件)application-{profile}.yml(不同環(huán)境的配置文件,例如application-dev.yml)- Program arguments(
--server.port=8083) - VM Options(
-Dserver.port=8082)
?? 如果同一個(gè)參數(shù)在多個(gè)地方都設(shè)置了,優(yōu)先級(jí)高的會(huì)覆蓋低的。
比如:在 application.yml 中設(shè)置端口是 8080,在 Program arguments 中傳 --server.port=8083,最終端口就是 8083。
四、推薦用法
- 業(yè)務(wù)參數(shù)(端口、profile、日志級(jí)別等):用
--,寫(xiě)在 Program arguments。 - JVM 參數(shù)(堆大小、GC 配置、系統(tǒng)屬性等):用
-D,寫(xiě)在 VM Options。
這樣既符合習(xí)慣,也便于區(qū)分不同類型的配置。
五、總結(jié)
在 IDEA 中啟動(dòng) Spring Boot 項(xiàng)目時(shí),可以通過(guò)以下方式傳遞參數(shù):
- 修改配置文件(
application.yml):適合固定配置。 - VM Options(-D):傳遞 JVM 系統(tǒng)屬性或 Spring Boot 參數(shù)。
- Program arguments(–):傳遞 Spring Boot 參數(shù),覆蓋配置文件。
通過(guò)合理使用這三種方式,就能更加靈活地控制 Spring Boot 項(xiàng)目的啟動(dòng)參數(shù)。
到此這篇關(guān)于在IDEA中啟動(dòng) Spring Boot 項(xiàng)目時(shí)加參數(shù)的詳細(xì)過(guò)程的文章就介紹到這了,更多相關(guān)idea springboot啟動(dòng)項(xiàng)目加參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot接入deepseek深度求索示例代碼(jdk1.8)
這篇文章主要介紹了SpringBoot接入deepseek深度求索的相關(guān)資料,包括建API?key、封裝詢問(wèn)Deepseek的工具方法(在配置文件中添加key值)、調(diào)用測(cè)試并確保端口一致例如8091,最后運(yùn)行結(jié)果,需要的朋友可以參考下2025-02-02
Java 數(shù)據(jù)庫(kù)連接池詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了Java 數(shù)據(jù)庫(kù)連接池詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-12-12
Java項(xiàng)目如何打包成Jar的實(shí)現(xiàn)步驟
一般情況下我們都是使用Java項(xiàng)目直接部署發(fā)布,有時(shí)需要我們將寫(xiě)好的項(xiàng)目打成jar包,方便后期調(diào)用,本文主要介紹了Java項(xiàng)目如何打包成Jar,感興趣的可以了解一下2023-11-11
基于spring cloud多個(gè)消費(fèi)端重復(fù)定義feign client的問(wèn)題
這篇文章主要介紹了spring cloud多個(gè)消費(fèi)端重復(fù)定義feign client的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
SpringBoot中Zookeeper分布式鎖的原理和用法詳解
Zookeeper是一個(gè)分布式協(xié)調(diào)服務(wù),它提供了高可用、高性能、可擴(kuò)展的分布式鎖機(jī)制,SpringBoot是一個(gè)基于Spring框架的開(kāi)發(fā)框架,它提供了對(duì)Zookeeper分布式鎖的集成支持,本文將介紹SpringBoot中的 Zookeeper分布式鎖的原理和使用方法,需要的朋友可以參考下2023-07-07
Spring中配置文件XML驗(yàn)證錯(cuò)誤全面解決指南
這篇文章主要為大家詳細(xì)介紹了Spring中配置文件XML驗(yàn)證錯(cuò)誤全面解決方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-11-11
Java雙向鏈表倒置功能實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Java雙向鏈表倒置功能實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09

