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

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

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

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

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

springboot啟動(dòng)會(huì)掃描以下位置的application.properties或者application.yml文件作為Spring boot的默認(rèn)配置文件

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

SpringBoot官網(wǎng):

在這里插入圖片描述

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

  • 如果低優(yōu)先級(jí)存在高優(yōu)先級(jí)沒(méi)有的屬性,則會(huì)互補(bǔ)配置。
  • 如果同一個(gè)配置屬性,在多個(gè)配置文件都配置了,默認(rèn)使用第1個(gè)讀取到的

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

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

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

項(xiàng)目默認(rèn)加載的配置文件名是 application ,我們可以通過(guò)屬性 spring.config.name 來(lái)指定配置文件的文件名。

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

2、外部配置加載順序

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

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

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

多個(gè)配置用空格分開(kāi);格式為: --配置項(xiàng)=值

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

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

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

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

大多數(shù)操作系統(tǒng)不允許使用句點(diǎn)分隔的鍵名,使用下劃線代替(例如,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)通過(guò)SpringApplication.setDefaultProperties指定的默認(rèn)屬性

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

總結(jié)

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

3、遠(yuǎn)程配置中心

以Nacos為例:默認(rèn)遠(yuǎn)程配置優(yōu)先級(jí)最高

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

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

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

相關(guān)文章

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

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

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

    java ArrayList集合中的某個(gè)對(duì)象屬性進(jìn)行排序的實(shí)現(xiàn)代碼

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

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

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

    Java的LinkedHashSet源碼深入講解

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

    SpringBoot項(xiàng)目整合OpenFeign啟動(dòng)失敗及運(yùn)行時(shí)常見(jiàn)錯(cuò)誤解決方案

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論

江川县| 茂名市| 沙坪坝区| 星座| 崇州市| 榆社县| 新龙县| 漳浦县| 葫芦岛市| 江永县| 留坝县| 吉林市| 洛南县| 深圳市| 宁陵县| 博野县| 清原| 玉林市| 宣城市| 清远市| 师宗县| 玛沁县| 兴义市| 汝南县| 南康市| 嵊泗县| 定结县| 乃东县| 通海县| 永宁县| 谢通门县| 新竹市| 陇川县| 包头市| 伊川县| 江孜县| 隆子县| 泸西县| 金塔县| 南涧| 体育|