springcloud項(xiàng)目里application.yml不加載的坑及解決
前言
在springboot里經(jīng)常使用application.properties類似的properties作為配置文件
通過(guò)配置文件進(jìn)行springboot項(xiàng)目的配置
例如:
########################## application級(jí)別通用配置 ##########################
########################## Feign通用配置 ##########################
##### ribbon配置可以廢除了 SpringBoot升級(jí)到2.6以后的 使用LoadBalance
## 從注冊(cè)中心刷新servelist的時(shí)間 默認(rèn)30秒,單位ms
ribbon.ServerListRefreshInterval=15000
## 請(qǐng)求連接的超時(shí)時(shí)間 默認(rèn)1秒,單位ms
ribbon.ConnectTimeout=30000
## 請(qǐng)求處理的超時(shí)時(shí)間 默認(rèn)1秒,單位ms
ribbon.ReadTimeout=30000
## 對(duì)所有操作請(qǐng)求都進(jìn)行重試,不配置這個(gè)MaxAutoRetries不起作用 默認(rèn)false
#ribbon.OkToRetryOnAllOperations=true
## 對(duì)當(dāng)前實(shí)例的重試次數(shù) 默認(rèn)0
ribbon.MaxAutoRetries=0
## 切換實(shí)例的重試次數(shù) 默認(rèn)1
ribbon.MaxAutoRetriesNextServer=0
##### nacos(注冊(cè)中心和配置中心)地址
spring.cloud.nacos.server-addr=${nacos.server-addr}
#spring.cloud.nacos.username=${nacos.username}
#spring.cloud.nacos.password=${nacos.password}在springboot項(xiàng)目里,這是非常常見的
在springcloud的微服務(wù)項(xiàng)目
每個(gè)微服務(wù)也是使用spingboot作為基礎(chǔ)腳手架來(lái)搭建項(xiàng)目的
有些項(xiàng)目使用了application.yml或者bootstrap.yml,發(fā)現(xiàn)配置項(xiàng)無(wú)效

這里的問(wèn)題,是由于沒(méi)有引入支持bootstrap.yml的包進(jìn)來(lái), 可以在項(xiàng)目里引入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>引入以上的包即可后bootstrap.yml中的配置即可生效
在springboot的環(huán)境配置信息中,其配置信息的優(yōu)先級(jí)如下
啟動(dòng)參數(shù) > properties中的配置 > yml中的配置 > configuration Center的配置。

結(jié)束語(yǔ)
這個(gè)坑是不經(jīng)意中遇到的,springcloud并不是一個(gè)完整的微服務(wù)的環(huán)境框架,而是一套技術(shù)框架加上一個(gè)搭建微服務(wù)的腳手架,
通過(guò)java的包依賴機(jī)制,加上使用maven和grandle構(gòu)建工具而實(shí)現(xiàn)通過(guò)java完成微服務(wù)的實(shí)現(xiàn),所以在很多的技術(shù)手段都是通過(guò)代碼或者配置方式之一的耦合方式實(shí)現(xiàn)的。 這樣勢(shì)必會(huì)在業(yè)務(wù)代碼中包含了不應(yīng)該關(guān)心的東西,
這個(gè)坑如果在啟動(dòng)過(guò)程中使用yml的話,是不會(huì)踩到了, 當(dāng)然如果是配置中心比如nacos里的yml格式文件,只要配置中心的配置被加載了,也不會(huì)受到影響, 否則,自己在項(xiàng)目里添加的application.yml和bootstrap.yml就是不能加載。
加上了spring-cloud-starter-bootstrap才行, java的模塊化是實(shí)現(xiàn)上的模塊化,springcloud架構(gòu)下的云生態(tài)同樣也是實(shí)技術(shù)化上的模塊化,并不是體系上的模塊化,這點(diǎn)也就是springcloud在未來(lái)的云生態(tài)下止步不前的原因。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
springBoot熱部署、請(qǐng)求轉(zhuǎn)發(fā)與重定向步驟詳解
這篇文章主要介紹了springBoot熱部署、請(qǐng)求轉(zhuǎn)發(fā)與重定向,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06
java數(shù)據(jù)結(jié)構(gòu)與算法之馬踏棋盤
這篇文章主要為大家詳細(xì)介紹了java數(shù)據(jù)結(jié)構(gòu)與算法之馬踏棋盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Java數(shù)據(jù)結(jié)構(gòu)與算法學(xué)習(xí)之雙向鏈表
雙向鏈表也叫雙鏈表,是鏈表的一種,它的每個(gè)數(shù)據(jù)結(jié)點(diǎn)中都有兩個(gè)指針,分別指向直接后繼和直接前驅(qū)。所以,從雙向鏈表中的任意一個(gè)結(jié)點(diǎn)開始,都可以很方便地訪問(wèn)它的前驅(qū)結(jié)點(diǎn)和后繼結(jié)點(diǎn)。本文將為大家詳細(xì)介紹雙向鏈表的特點(diǎn)與使用,需要的可以參考一下2021-12-12
Java+ElasticSearch+Pytorch實(shí)現(xiàn)以圖搜圖功能
這篇文章主要為大家詳細(xì)介紹了Java如何利用ElasticSearch和Pytorch實(shí)現(xiàn)以圖搜圖功能,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解一下2023-06-06
springboot項(xiàng)目配置logback日志系統(tǒng)的實(shí)現(xiàn)
這篇文章主要介紹了springboot項(xiàng)目配置logback日志系統(tǒng)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
解決IDEA項(xiàng)目project包目錄消失的問(wèn)題
這篇文章主要介紹了解決IDEA項(xiàng)目project包目錄消失的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
Java變量命名規(guī)則詳解及常見命名錯(cuò)誤(建議收藏)
這篇文章主要介紹了Java中變量命名的規(guī)則及最佳實(shí)踐,包括有效字符、大小寫敏感性、不能使用保留字、駝峰命名法、描述性命名、特定類型的命名習(xí)慣、避免潛在問(wèn)題、常見命名錯(cuò)誤及如何避免等內(nèi)容,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-02-02
Spring?Boot使用MyBatis進(jìn)行兩個(gè)表的關(guān)聯(lián)
本文主要介紹了Spring?Boot使用MyBatis進(jìn)行兩個(gè)表的關(guān)聯(lián),通過(guò)實(shí)例演示了如何使用MyBatis的XML映射文件和注解實(shí)現(xiàn)關(guān)聯(lián)操作,具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09
Springboot mybatis常見配置問(wèn)題解決
這篇文章主要介紹了Springboot mybatis常見配置問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11

