簡體   English   中英

使用 IntelliJ 在 Spring Boot 中自定義應用程序屬性

[英]Custom application properties in spring boot using IntelliJ

我正在嘗試使用應用程序屬性,而不是 application.properties,比如資源目錄中的application_local.properties

這樣我就可以有 2 個屬性文件,一個用於本地,另一個用於服務器。

正如許多博客中提到的,我應該使用以下命令:

spring-boot:run -Dspring.config.location=/Users/myuser/work/MyProject/my-app/src/main/resources/application_local.properties

但這不起作用,它仍在從 application.properties 獲取值。

我缺少什么,請提出建議?

謝謝

1- 遵循命名約定 application-{profile}.properties

  • 應用程序-local.properties

2 套配置文件

  • -Dspring.profiles.active=本地

簡而言之,您可以使用以下兩個鏈接:

  1. 如何根據彈簧輪廓加載屬性文件
  2. 彈簧型材

-Dspring.profile.location將目錄作為輸入。 此屬性的目的是指定額外的目錄位置來保存您的屬性文件。

您在命令中使用了屬性文件名。

請參閱此處其他線程的詳細@Answer

相反,您可以按照@mehardad 的建議使用

-D 選項會將參數發送到 Java 虛擬機。 為了向 Spring boot 發送參數,必須使用命令選項“--”。

例子:

假設在 application.properties 文件中定義了一個名為“spring.profiles.active”的選項,如下所示:

spring.profiles.active=dev

可以使用命令行參數覆蓋此選項,如下所示:

java -jar application.jar --spring.profiles.active=prod

使用 Spring 配置文件並在運行時選擇,本地將

-Dspring.profiles.active=local

屬性文件應稱為application-local.properties

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM