SpringCloud Config使用本地倉(cāng)庫(kù)及map注入
默認(rèn)情況下,SpringCloud Config使用的是遠(yuǎn)程的倉(cāng)庫(kù),所以默認(rèn)要配置uri
如果不想使用遠(yuǎn)程倉(cāng)庫(kù),而使用本地倉(cāng)庫(kù),需要做以下配置:
spring.profiles.active=native
spring.cloud.config.server.native.search-locations=file:D:/git/myconfig
注意3點(diǎn):
1. 使用spring.profiles.active指定要使用本地倉(cāng)庫(kù),而不是其他屬性.注意這個(gè)屬性一般的作用是激活哪一套配置,在config項(xiàng)目中用于指定是否使用本地倉(cāng)庫(kù)
2. 不在使用uri,username,password這些遠(yuǎn)程倉(cāng)庫(kù)才需要的,而是使用search-locations這個(gè)用于指定尋找本地文件夾的屬性
3. 倉(cāng)庫(kù)路徑前一定要帶上file:前綴,否則識(shí)別不了
4. 客戶端程序不用再像遠(yuǎn)程那樣指定使用倉(cāng)庫(kù)哪個(gè)分支,即: spring.cloud.config.label無(wú)效了,無(wú)論是否配置該屬性,都不再使用該屬性.
總結(jié):
1. 通過(guò)在config項(xiàng)目中指定spring.profiles.active=native來(lái)指定使用本地配置倉(cāng)庫(kù)
2. 指定配置路徑時(shí), 前面要加上file:
3. 不需要再指定uri,username,password,label這些屬性
今天偶然在網(wǎng)頁(yè)留言上發(fā)現(xiàn),有人說(shuō)用@Autowired
可以注入bean到聲明的map中,當(dāng)時(shí)我還不信,怎么可能呢,@Autowired只用過(guò)向定義的類(lèi)型中注入bean,map跟bean非親非故,怎么會(huì)注入那些實(shí)例,于是試驗(yàn)了一下,果然靈驗(yàn)
@Autowired
private Map<String, BizService> map = new HashMap<>();// 向map中注入所有類(lèi)型為BizService類(lèi)型的bean,其中鍵為bean的名稱(chēng),值為bean的實(shí)例.
像上面這些注入一個(gè)map,類(lèi)型必須是這樣: Map<String, T> map ,即: 鍵必須是String類(lèi)型, 值可以是任意類(lèi)型
這樣的話,這個(gè)map就會(huì)將context中所有類(lèi)型為T(mén)的bean都注入到這個(gè)map中了.
分析一下原理,也是很容易實(shí)現(xiàn)的,只不過(guò)以前沒(méi)朝這方面想而已
在context啟動(dòng)過(guò)程中, 會(huì)加載所有的bean到bean工廠中,如果發(fā)現(xiàn)有用@Autowired標(biāo)記的Map類(lèi)型,那就注入
注入的時(shí)候,看map的值類(lèi)型,然后遍歷所有的bean,根據(jù)類(lèi)型放進(jìn)去就行了.
有了這個(gè)東西,以后遇到自定義的bean,都可以自動(dòng)放入單獨(dú)的map中,隨時(shí)供自己調(diào)用和處理了,很是方便.
同理: List也可以根據(jù)bean的類(lèi)型自動(dòng)注入.原理同map.
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
MyBatis中的collection兩種使用方法及效率比較
collection主要是應(yīng)對(duì)表關(guān)系是一對(duì)多的情況,本文主要介紹了MyBatis中的collection兩種使用方法及效率比較,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06SpringCloud_Sleuth分布式鏈路請(qǐng)求跟蹤的示例代碼
Spring Cloud Sleuth是一款針對(duì)Spring Cloud的分布式跟蹤工具,本文通過(guò)實(shí)例代碼介紹了SpringCloud_Sleuth分布式鏈路請(qǐng)求跟蹤,感興趣的朋友跟隨小編一起看看吧2023-02-02Spring Cloud學(xué)習(xí)教程之Zuul統(tǒng)一異常處理與回退
Spring Cloud Zuul對(duì)異常的處理整體來(lái)說(shuō)還是比較方便的,流程也比較清晰,下面這篇文章主要給大家介紹了關(guān)于Spring Cloud學(xué)習(xí)教程之Zuul統(tǒng)一異常處理與回退的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04Java數(shù)組隊(duì)列概念與用法實(shí)例分析
這篇文章主要介紹了Java數(shù)組隊(duì)列概念與用法,結(jié)合實(shí)例形式分析了Java數(shù)組隊(duì)列相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-03-03使用curator實(shí)現(xiàn)zookeeper鎖服務(wù)的示例分享
這篇文章主要介紹了使用curator實(shí)現(xiàn)zookeeper鎖服務(wù)的示例,需要的朋友可以參考下2014-02-02