最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot中的配置文件加載優(yōu)先級詳解

 更新時間:2024年01月02日 11:18:52   作者:my_sky_  
這篇文章主要介紹了SpringBoot中的配置文件加載優(yōu)先級詳解,springboot啟動會掃描以下位置的application.properties或者application.yml文件作為Spring?boot的默認配置文件,需要的朋友可以參考下

springboot配置文件的加載先后順序

1、內(nèi)部配置加載順序

springboot啟動會掃描以下位置的application.properties或者application.yml文件作為Spring boot的默認配置文件

  • –file:./config/ --> 當(dāng)前項目根目錄下的 config 目錄下
  • –file:./ --> 當(dāng)前項目的根目錄下
  • –classpath:/config/ --> resources/config目錄下
  • –classpath:/ --> resources目錄下

SpringBoot官網(wǎng):

在這里插入圖片描述

優(yōu)先級由高到底,高優(yōu)先級的配置會覆蓋低優(yōu)先級的配置。

  • 如果低優(yōu)先級存在高優(yōu)先級沒有的屬性,則會互補配置。
  • 如果同一個配置屬性,在多個配置文件都配置了,默認使用第1個讀取到的

這四個位置是默認位置,即 Spring Boot 啟動,默認會從這四個位置按順序去查找相關(guān)屬性并加載。

我們也可以通過 spring.config.location 屬性來手動的指定配置文件位置,指定完成后,系統(tǒng)就會自動去指定目錄下查找 application.properties 文件。

	java -jar properties-0.0.1-SNAPSHOT.jar --spring.config.location=classpath:/javaboy/

項目默認加載的配置文件名是 application ,我們可以通過屬性 spring.config.name 來指定配置文件的文件名。

使用 spring.config.location 屬性重新定義配置文件的位置,它會覆蓋掉默認的四個位置。使用 spring.config.additional-location 這個屬性自定義配置文件位置,表示在默認的四個位置的基礎(chǔ)上,再添加幾個位置,新添加的位置的優(yōu)先級大于原本的位置。 在自定義配置文件位置時,值一定要以 / 結(jié)尾。例如 spring.config.location=classpath:/myconfig/

2、外部配置加載順序

SpringBoot也可以從以下位置加載配置; 優(yōu)先級從高到低;高優(yōu)先級的配置覆蓋低優(yōu)先級的配置,所有的配置會形成互補配置

(1)命令行參數(shù) (加載時優(yōu)先加載) 所有的配置都可以在命令行上進行指定( --配置)。 可以通過指定 --spring.config.location來改變默認的配置文件位置:

java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --spring.config.location=G:/application.yml

多個配置用空格分開;格式為: --配置項=值

(2)來自java:comp/env的JNDI屬性

(3)Java系統(tǒng)屬性(在命令行中使用-D指定),可通過System.getProperties()獲得相關(guān)內(nèi)容

java -Dspring.application.json='{"my":{"name":"test"}}' -jar myapp.jar

(4)操作系統(tǒng)環(huán)境變量

大多數(shù)操作系統(tǒng)不允許使用句點分隔的鍵名,使用下劃線代替(例如,SPRING_CONFIG_NAME代替spring.config.name)

(5)RandomValuePropertySource配置的random.*屬性值

(6)jar包外部的application-{profile}.properties或application-{profile}.yml(帶spring.profile)配置文件。

(7)jar包內(nèi)部的application-{profile}.properties或application-{profile}.yml(帶spring.profile)配置文件。

(8)jar包外部的application.properties或application.yml(不帶spring.profile)配置文件。

(9)jar包內(nèi)部的application.properties或application.yml(不帶spring.profile)配置文件。

(10)@Configuration注解類上的@PropertySource

(11)通過SpringApplication.setDefaultProperties指定的默認屬性

其中常用的為:(1)(6)(7)(8)(9)(10)

總結(jié)

  • 優(yōu)先加載操作系統(tǒng)層面的配置、命令行
  • 由jar包外向jar包內(nèi)進行尋找,優(yōu)先查找config目錄。
  • 優(yōu)先加載帶profile(application-{profile}.yml)的,后加載不帶profile(application.yml)的
  • 高優(yōu)先級的配置覆蓋低優(yōu)先級的配置,所有的配置會形成互補配置

3、遠程配置中心

以Nacos為例:默認遠程配置優(yōu)先級最高

可以通過在遠程配置中心中做如下配置,設(shè)置本地配置覆蓋遠程配置:

spring:
  cloud:
    config:
      # 是否允許本地配置覆蓋遠程配置
      allow-override: true
      # 是否一切以本地配置為準(zhǔn),默認false
      override-none: false
      # 系統(tǒng)環(huán)境變量或系統(tǒng)屬性才能覆蓋遠程配置文件的配置
      # 本地配置文件中配置優(yōu)先級低于遠程配置,默認true
      override-system-properties: true

到此這篇關(guān)于SpringBoot中的配置文件加載優(yōu)先級詳解的文章就介紹到這了,更多相關(guān)SpringBoot配置文件優(yōu)先級內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JDBC實現(xiàn)學(xué)生管理系統(tǒng)

    JDBC實現(xiàn)學(xué)生管理系統(tǒng)

    這篇文章主要為大家詳細介紹了JDBC實現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • java ArrayList集合中的某個對象屬性進行排序的實現(xiàn)代碼

    java ArrayList集合中的某個對象屬性進行排序的實現(xiàn)代碼

    這篇文章主要介紹了java ArrayList集合中的某個對象屬性進行排序的實現(xiàn)代碼,需要的朋友可以參考下
    2016-07-07
  • maven之packaging標(biāo)簽的使用

    maven之packaging標(biāo)簽的使用

    這篇文章主要介紹了maven之packaging標(biāo)簽的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Java的LinkedHashSet源碼深入講解

    Java的LinkedHashSet源碼深入講解

    這篇文章主要介紹了Java的LinkedHashSet源碼深入講解,LinkedHashSet是HashSet的子類,而由于HashSet實現(xiàn)了Set接口,因此LinkedHashSet也間接實現(xiàn)了Set類,LinkedHashSet類屬于java.base模塊,java.util包下,需要的朋友可以參考下
    2023-09-09
  • SpringBoot項目整合OpenFeign啟動失敗及運行時常見錯誤解決方案

    SpringBoot項目整合OpenFeign啟動失敗及運行時常見錯誤解決方案

    文章總結(jié)了在使用Feign進行服務(wù)調(diào)用時可能遇到的常見問題及其解決方案,涵蓋了依賴配置、接口定義、運行時錯誤和其它常見問題的解決方法,建議使用兼容的版本、統(tǒng)一的包名結(jié)構(gòu),并為接口方法添加HTTP注解,感興趣的朋友跟隨小編一起看看吧
    2026-01-01
  • java中optional的一些常用方法總結(jié)

    java中optional的一些常用方法總結(jié)

    Java8引入了一個非常強大的特性就是Optional類,其主要解決的問題就是我們編程時常常遇到的空指針異常,下面這篇文章主要給大家介紹了關(guān)于java中optional的一些常用方法,需要的朋友可以參考下
    2023-04-04
  • Java使用WebFlux調(diào)用大模型實現(xiàn)智能對話

    Java使用WebFlux調(diào)用大模型實現(xiàn)智能對話

    這篇文章主要為大家詳細介紹了Java如何使用WebFlux調(diào)用大模型實現(xiàn)智能對話效果,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-06-06
  • SpringBoot創(chuàng)建JSP登錄頁面功能實例代碼

    SpringBoot創(chuàng)建JSP登錄頁面功能實例代碼

    這篇文章主要介紹了SpringBoot創(chuàng)建JSP登錄頁面功能實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-04-04
  • Spring和Websocket相結(jié)合實現(xiàn)消息的推送

    Spring和Websocket相結(jié)合實現(xiàn)消息的推送

    這篇文章主要介紹了Spring和Websocket相結(jié)合實現(xiàn)消息的推送的相關(guān)資料,本文介紹的非常詳細具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧
    2016-02-02
  • Java 基礎(chǔ):string中的compareTo方法

    Java 基礎(chǔ):string中的compareTo方法

    這篇文章主要介紹了Java 基礎(chǔ):string中的compareTo方法,文章圍繞string中的compareTo方法的相關(guān)資料展開文章詳細內(nèi)容,希望對待大家有所幫助
    2021-12-12

最新評論

黎城县| 潮州市| 宁夏| 岳普湖县| 胶南市| 赤水市| 信阳市| 辽中县| 莫力| 鲁甸县| 桂阳县| 南乐县| 罗源县| 衢州市| 河北省| 卓尼县| 东山县| 武功县| 壶关县| 扬州市| 咸丰县| 嘉义县| 洛川县| 商丘市| 伊春市| 商南县| 宜兰市| 罗平县| 新余市| 平乡县| 石河子市| 嘉荫县| 武宣县| 桓台县| 中阳县| 改则县| 榆林市| 滨海县| 成武县| 平罗县| 邵武市|