基于SpringBoot bootstrap.yml配置未生效的解決
我就廢話不多說了,大家還是直接看代碼吧~
<!--需要引入該jar才能使bootstrap配置文件生效--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-context</artifactId> </dependency>
補(bǔ)充知識:SpringBoot不讀取bootstrap.yml/properties文件
今天寫創(chuàng)建了一個SpringBoot項目,配置文件從其他項目拷貝了一份bootstrap.yml
之前一直用的application.yml
心想:application.yml 優(yōu)先級沒有bootstrap.yml 高,bootstrap配置文件肯定沒問題
項目一跑來,發(fā)現(xiàn)配置文件里面的內(nèi)容沒讀取到。
之后通過各種查資料,才明白了application.yml 和bootstrap.yml 的區(qū)別,不僅僅是優(yōu)先級的問題。
先說我的問題是什么原因吧:
SpringBoot 項目中如果沒有依賴 spring-cloud-context 的話,是不會讀取bootstrap.properties 文件
也就是說
bootstrap.yml配置是SpringCloud項目才會用到的。
如果你的項目僅僅是一個SpringBoot項目,只會識別application.yml配置文件。
由于SpringCloud是基于SpringBoot構(gòu)建的,所有SpringCloud項目兩種文件都會識別,這個時候才有優(yōu)先級的說法,SpringCloud項目是會優(yōu)先讀取bootstrap配置在讀取application配置。
引用Spring官網(wǎng)的一句話
A Spring Cloud application operates by creating a “bootstrap” context, which is a parent context for the main application. Out of the box it is responsible for loading configuration properties from the external sources, and also decrypting properties in the local external configuration files.
SpringCloud 應(yīng)用是基于 一個 “bootstrap”的上下文運(yùn)行的。
也就說明了 bootstrap這個配置是SpringCloud 應(yīng)用才會用的。
而且這個配置是不能被覆蓋的,也就是優(yōu)先級比application配置中的高。
什么配置在application配置?什么配置在bootstrap里面配置?
1、當(dāng)使用 Spring Cloud Config Server 的時候,spring.application.name 和 spring.cloud.config.server.git.uri應(yīng)該在 bootstrap.yml 里面指定
2、一些加密解密的配置也應(yīng)該配置在bootstrap里面
英文好的可以參考官網(wǎng)文章:
以上這篇基于SpringBoot bootstrap.yml配置未生效的解決就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
了解Java虛擬機(jī)JVM的基本結(jié)構(gòu)及JVM的內(nèi)存溢出方式
這篇文章主要介紹了Java虛擬機(jī)JVM的基本結(jié)構(gòu)及JVM的內(nèi)存溢出方式,涉及到Java內(nèi)存分配相關(guān)方面的知識,需要的朋友可以參考下2016-01-01mybatis的xml中使用@符號調(diào)用類方法示例
這篇文章主要為大家介紹了mybatis的xml中使用@符號調(diào)用類方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12java并發(fā)編程專題(十)----(JUC原子類)基本類型詳解
這篇文章主要介紹了java JUC原子類基本類型詳解的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-07Java的帶GUI界面猜數(shù)字游戲的實現(xiàn)示例
這篇文章主要介紹了Java的帶GUI界面猜數(shù)字游戲的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Java StringBuilder類相關(guān)知識總結(jié)
這篇文章主要介紹了Java StringBuilder類相關(guān)知識總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02SpringBoot+SpringCache實現(xiàn)兩級緩存(Redis+Caffeine)
這篇文章主要介紹了SpringBoot+SpringCache實現(xiàn)兩級緩存(Redis+Caffeine),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04SpringBoot使用JdbcTemplate操作數(shù)據(jù)庫
這篇文章主要介紹了SpringBoot使用JdbcTemplate操作數(shù)據(jù)庫,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07