配置文件優先級解讀

目錄

概述?

同級目錄application配置文件優先級

application?以及bootstrap?優先級

不同級目錄配置文件優先級

外部配置加載順序


概述?

SpringBoot除了支持properties格式的配置文件,還支持另外兩種格式的配置文件。三種配置文件格式分別如下:

  • properties格式

  • yml格式

  • yaml格式

application.properties(properties格式)

server.port=80

?application.yml(yml格式)

server:port: 81

application.yaml(yaml格式)

server:port: 82

?yml和yaml文件格式就是一模一樣的,只是文件后綴不同,所以可以合并成一種格式來看。

  1. yaml語法規則

    • 大小寫敏感

    • 屬性層級關系使用多行描述,每行結尾使用冒號結束

    • 使用縮進表示層級關系,同層級左側對齊,只允許使用空格(不允許使用Tab鍵)

    • 屬性值前面添加空格(屬性名與屬性值之間使用冒號+空格作為分隔)

    • #號 表示注釋

  2. 注意屬性名冒號后面與數據之間有一個空格

  3. 字面值、對象數據格式、數組數據格式 ?

同級目錄application配置文件優先級

application.properties ?> ?application.yml ?> ?application.yaml

每個配置文件中的項都會生效,只不過如果多個配置文件中有相同類型的配置會優先級高的文件覆蓋優先級的文件中的配置。如果配置項不同的話,所有的配置項都會生效。

application?以及bootstrap?優先級

bootstrap優先于application加載, 用于應用程序上下文的引導階段。由spring cloud?BootstrapApplicationListenerApplicationEnvironmentPreparedEvent時進行加載。

可以將bootstrap配置理解為系統級別的參數配置,這些參數一般不會變更。

application配置可以理解為定義應用級別的參數,可以覆蓋替換bootstrap的配置信息。

application的屬性優先較高,加載時先加載bootstrap配置文件,再加載application配置文件?

不同級目錄配置文件優先級

加載1. classpath:/? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? -- 優先級4. The classpath root

加載2. classpath:/config/???????????????????????? -- 優先級3. A classpath /config package

加載3. file:./?????????????????????????????????????????????-- 優先級2. The current directory

加載4. file:./config/? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-- 優先級1. A /config subdirectory of the current directory.

外部配置加載順序

SpringBoot也可以從以下位置加載配置:

優先級從高到低;

高優先級的配置覆蓋低優先級的配置,所有的配置會形成互補配置。

1.命令行參數

所有的配置都可以在命令行上進行指定;多個配置用空格分開; --配置項=值

java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar

--server.port=8087 --server.context-path=/abc

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

3.WDpUhJava系統屬性(System.getProperties())

4.操作系統環境變量

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

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

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

8.jar包外部的application.properties或application.yml(不帶spring.profihttp://le)配置文件

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

由jar包外向jar包內進行尋找,優先加載帶profile的,再加載不帶profile的。

10.@Configuration注解類上的@PropertySource

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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/37623.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37623.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37623.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python學習筆記_基礎篇(二)_數據類型之字符串

一.基本數據類型 整數:int 字符串:str(注:\t等于一個tab鍵) 布爾值: bool 列表:list 列表用[] 元祖:tuple 元祖用() 字典:dict 注:所有的數據類型都存在想對應…

TFTP Server

簡介 TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議)是TCP/IP協議族中的一個用來在客戶機與服務器之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的文件傳輸服務。端口號為69。 TFTP和FTP的區別 安全性區別 FTP支持登錄安全&…

ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960)

ATF(TF-A)安全通告匯總 目錄 一、ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960) 二、CVE-2022-23960 一、ATF(TF-A)安全通告 TFV-9 (CVE-2022-23960) Title TF-A披露通過分支預測目標重用(branch prediction target reuse)引發的前瞻執行處理器漏洞 CV…

Softmax Strategy

1. epsilon-greedy strategy 11111 2. UCB strategy 222 3. Softmax strategy 333 4. Gradient strategy 444 References [1] 科學網—【RL系列】Multi-Armed Bandit筆記——Softmax選擇策略 - 管金昱的博文 [2] The Epsilon-Greedy Algorithm | James D. McCaffrey

【軟考】2023系統架構設計師考試

目錄 1 軟考資格設置 2 考試報名 3 考試準備 4 參加考試 5 考試感受 6 其他 1 軟考資格設置 2 考試報名 報名網址:https://www.ruankao.org.cn/ 3 考試準備 4 參加考試 2023年下半年系統架構設計師考試時間為11月4、5日。 5 考試感受 6 其他 最近好像有地區…

vue element 多圖片組合預覽

定義組件&#xff1a;preview-image <template><div><div class"imgbox"><divclass"preview-img":class"boxClass"v-if"Imageslist 3 ||Imageslist 5 ||Imageslist 7 ||Imageslist 8 ||Imageslist > 9"&…

LangChain手記 Models,Prompts and Parsers

整理并翻譯自DeepLearning.AILangChain的官方課程&#xff1a;Models,Prompts and Parsers 模型&#xff0c;提示詞和解析器&#xff08;Models, Prompts and Parsers&#xff09; 模型&#xff1a;大語言模型提示詞&#xff1a;構建傳遞給模型的輸入的方式解析器&#xff1a;…

即時編譯的觸發

文章目錄 Java即時編譯:概述Java即時編譯:原理Java即時編譯:優點提高程序的運行效率動態優化高效利用CPU資源Java即時編譯:案例分析Java即時編譯:概述 Java語言一直是業界公認的高級編程語言,在眾多編程語言中獨樹一幟。Java的JVM(Java虛擬機)是Java語言的核心所在,它…

即將發布的 Kibana 版本可運行 Node.js 18

作者&#xff1a;Thomas Watson Kibana 構建在 Node.js 框架之上。 為了確保每個 Kibana 版本的穩定性和使用壽命&#xff0c;我們始終將捆綁的 Node.js 二進制文件保持為最新的最新長期支持 (LTS) 版本。 當 Node.js 版本 18 升級到 LTS 時&#xff0c;我們開始將 Kibana 升級…

如何理解“對矩陣進行初等行變換不改變其列向量的線性關系”?

對矩陣A進行初等行變換相當于左乘一個可逆矩陣P。 把A看作是列向量組&#xff0c;若有Ax0&#xff0c;則其中的x就說明了列向量的線性關系&#xff1a; [ α 1 , α 2 , α 3 ] [ x 1 x 2 x 3 ] [ 0 ] \left[ \alpha_1 ,\alpha_2, \alpha_3 \right] \begin{bmatrix} x_1\\ x…

【爬蟲】爬取旅行評論和評分

以馬蜂窩“普達措國家公園”為例&#xff0c;其評論高達3000多條&#xff0c;但這3000多條并非是完全向用戶展示的&#xff0c;向用戶展示的只有5頁&#xff0c;數了一下每頁15條評論&#xff0c;也就是75條評論&#xff0c;有點太少了吧&#xff01; 因此想了個辦法盡可能多爬…

【 BERTopic應用 02/3】 分析卡塔爾世界杯推特數據

攝影&#xff1a;Fauzan Saari on Unsplash 一、說明 這是我們對世界杯推特數據分析的第3部分&#xff0c;我們放棄了。我們將對我們的數據進行情緒分析&#xff0c;以了解人們對卡塔爾世界杯的感受。我將在這里介紹的一個功能強大的工具包是Hugging Face&#xff0c;您可以在…

高憶管理:策略:短期利空落地 市場有望企穩回升

高憶管理指出&#xff0c;基于A股商場出資環境分析&#xff0c;尤其是當時商場存量博弈為主的布景下&#xff0c;主張重視以下“21”主線輪動&#xff1a;&#xff08;1&#xff09;國產科技代替立異&#xff1a;電子&#xff08;半導體、消費電子&#xff09;、通信&#xff0…

Vue基本知識

一、vue入門 Vue為前端的框架&#xff0c;免除了原生js的DOM操作。簡化書寫。 基于MVVM的思想&#xff0c;實現數據的雙向綁定&#xff0c;使編程的重點放在數據上。 1、引入vue.js文件 2、定義vue核心對象&#xff0c;定義數據模型 3、編寫視圖 //1、引入vue.js <scr…

關于vue,記錄一次修飾符.stop和.once的使用,以及猜想。

內置指令 | Vue.js 在vue的api里&#xff0c;關于v-on有stop和once兩個事件標簽。 .stop - 調用 event.stopPropagation()。.once - 最多觸發一次處理函數。 原有主要代碼和頁面效果 &#xff08;無stop和once&#xff09;: ...<div class"div" click"di…

激活函數總結(九):Softmax系列激活函數補充(Softmin、Softmax2d、Logsoftmax)

激活函數總結&#xff08;九&#xff09;&#xff1a;Softmax系列激活函數補充 1 引言2 激活函數2.1 Softmin激活函數2.2 Softmax2d激活函數2.3 Logsoftmax激活函數 3. 總結 1 引言 在前面的文章中已經介紹了介紹了一系列激活函數 (Sigmoid、Tanh、ReLU、Leaky ReLU、PReLU、S…

React+Typescript清理項目環境

上文 創建一個 ReactTypescript 項目 我們創建出了一個 React配合Ts開發的項目環境 那么 本文 我們先將環境清理感覺 方便后續開發 我們先來聊一下React的一個目錄結構 跟我們之前開發的React項目還是有一些區別 public 主要是存放一些靜態資源文件 例如 html 圖片 icon之類的 …

響應式設計是什么?怎么學習? - 易智編譯EaseEditing

響應式設計是一種用于創建能夠適應不同設備和屏幕尺寸的網站和應用程序的設計方法。它的目標是確保網站在各種設備上都能提供良好的用戶體驗&#xff0c;無論是在大屏幕的桌面電腦上還是在小屏幕的移動設備上。 在響應式設計中&#xff0c;頁面的布局、字體、圖像和其他元素會…

【yml文件的解釋】

目錄 一、yml的簡介二、手寫yml文件進行配置三、使用yaml格式導出生成模板四、deployment.yaml文件詳解五、Pod yaml文件詳解六、Service yaml文件詳解 一、yml的簡介 Kubernetes 支持 YAML 和 JSON 格式管理資源對象 JSON 格式&#xff1a;主要用于 api 接口之間消息的傳遞 Y…

路由器和交換機的區別

交換機和路由器的區別 交換機實現局域網內點對點通信&#xff0c;路由器實現收集發散&#xff0c;相當于一個獵頭實現的中介的功能 路由器屬于網絡層&#xff0c;可以處理TCP/IP協議&#xff0c;通過IP地址尋址&#xff1b;交換機屬于中繼層&#xff0c;通過MAC地址尋址(列表)…