日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

環境:Springboot2.4.10


當應用程序啟動時,Spring Boot將自動從以下位置查找并加載Application.properties和application.yaml文件:

  1. 從Classpath類路徑classpath的根類路徑classpath下的/config包
  2. 從當前目錄當前目錄當前目錄中的/config子目錄/config子目錄的直接子目錄

列表按優先級排序(較低項的值優先于較早項)。加載文件中的文檔作為PropertySources添加到Spring環境中。

上面的加載順序是倒著的。

  1. 修改加載的配置文件名稱

默認是加載的以application的配置文件,可以通過spring.config.name啟動參數進行修改:

JAVA -jar myproject.jar --spring.config.name=myproject
  1. 修改配置文件路徑

使用spring.config.location屬性顯式指定位置。此屬性接受以逗號分隔的列表,其中包含一個或多個要檢查的位置。

java -jar myproject.jar --spring.config.location=optional:classpath:/default.properties,optional:classpath:/override.properties

這里的optional前綴的意思是:

如果位置是可選的,并且您不介意它們是否不存在。簡單說就是這些路徑下的文件是可選的。

  1. 配置文件位置

如果spring.config.location包含目錄(與文件相反),則它們應以/結尾。在運行時,它們將在加載之前附加從spring.config.name生成的名稱。直接導入spring.config.location中指定的文件。

1.1 可選位置

默認情況下,當指定的配置數據位置不存在時,Spring Boot將拋出
ConfigDataLocationNotFoundException,應用程序將不會啟動。

如果要指定一個位置,但不介意它是否總是存在,則可以使用optional:作為前綴 。你可以將此前綴與spring.config.location和
spring.config.additional-location屬性以及spring.config.import聲明一起使用。

例如,spring.config.import值
optional:file:./myconfig.properties允許啟動應用程序,即使myconfig.properties文件丟失。

如果要忽略所有
ConfigDataLocationNotFoundException并始終繼續啟動應用程序,可以使用
spring.config.on-not-found屬性。使用
SpringApplication.setDefaultProperties(...)或使用系統/環境變量。

1.2 通配符位置

如果配置文件位置包含最后一個路徑段的*字符,則將其視為通配符位置。在加載配置時,通配符會展開,以便同時檢查直接子目錄。在Kubernetes這樣的環境中,當存在多個配置屬性源時,通配符位置特別有用。

例如,如果你有一些redis配置和一些MySQL配置,你可能希望將這兩個配置分開,同時要求它們都存在于application.properties文件中。這可能會導致兩個單獨的application.properties文件裝載在不同的位置,例如
/config/redis/application.properties和/config/mysql/application.properties。在這種情況下,如果通配符位置為config/*/,將導致處理這兩個文件。

默認情況下,Spring Boot在默認搜索位置包含config/*/。這意味著將搜索jar之外的/config目錄的所有子目錄。

您可以將通配符位置與spring.config.location和
spring.config.additional-location屬性一起使用。

1.3 特定配置文件

除了應用程序屬性文件外,Spring Boot還將嘗試使用命名約定應用程序{profile}加載特定于概要文件的文件。例如,如果應用程序激活名為prod的概要文件并使用YAML文件,則將同時考慮application.yml和application-prod.yml。

特定于配置文件的屬性從與標準application.properties相同的位置加載,特定于配置文件的文件始終覆蓋非特定文件。如果指定了多個配置文件,則應用最后一個wins策略。例如,如果prod、live(即順序為:prod, live)配置文件由spring.profiles.active屬性指定,則
application-prod.properties中的值可以被application-live.properties中的值覆蓋。

1.4 導入其它數據

應用程序屬性可以使用spring.config.import屬性從其他位置導入更多配置數據。導入會在發現時進行處理,并被視為插入聲明導入的文檔下方的附加文檔。

例如:

spring:
  config:
    import:
    - optional:classpath./config/cfg.yml  

這里的optional表示可選的,即導入的文件可以不存在;

看如下情況:

cfg.yml配置文件內容

cfg:
  name: classpath:/config
spring:
  config:
    import:
    - optional:classpath:/config/cfg.yml
---  
cfg:
  name: a1    

這里的a1會覆蓋import中的值

cfg:
  name: a1
---  
spring:
  config:
    import:
    - optional:classpath:/config/cfg.yml   

這里cfg.yml配置的值會覆蓋a1值

可以在單個spring.config.import鍵下指定多個位置。位置將按照其定義的順序進行處理,以后的導入將優先。

注意:官方文檔說上面的兩種順序配置,產生的是同樣的效果,但是我這測試的后面的會替換前面的。

1.5 導入無擴展名文件

某些云平臺無法向卷裝載的文件添加文件擴展名。要導入這些無擴展文件,您需要給Spring Boot一個提示,以便它知道如何加載它們。可以通過將擴展提示放在方括號中來實現這一點。

例如,假設你有一個/etc/config/myconfig文件,希望將其作為yaml導入。您可以使用以下命令從application.properties導入它:

spring:
  config:
    import: "file:/etc/config/myconfig[.yaml]"

完畢!!!

分享到:
標簽:配置 Springboot
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定