亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

springboot中nacos-client獲取配置的實(shí)現(xiàn)方法

 更新時(shí)間:2023年04月27日 14:40:43   作者:趣開源  
本文主要介紹了springboot中nacos-client獲取配置的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

在springboot中使用nacos的小伙伴是不是跟我有一樣的好奇,springboot中nacos-client是怎么獲取配置的?今天我跟了一下代碼,大致的流程弄懂了,分享給大家。

1、導(dǎo)入nacos的maven包

<dependency>
    <groupId>com.alibaba.boot</groupId>
    <artifactId>nacos-config-spring-boot-starter</artifactId>
    <version>0.2.7</version>
</dependency>

2、nacos-config-spring-boot-autoconfigure解析

我們就看主要的,nacos-client-spring-boot-starter中依賴了nacos-config-spring-boot-autoconfigure,自動(dòng)裝配的知識(shí)我就當(dāng)大家都了解哈,不了解的可以我留言,我會(huì)單獨(dú)寫一篇springboot自動(dòng)裝配的解析。

image.png

再看spring.factories

image.png

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
  com.alibaba.boot.nacos.config.autoconfigure.NacosConfigAutoConfiguration
org.springframework.boot.env.EnvironmentPostProcessor=\ 
com.alibaba.boot.nacos.config.autoconfigure.NacosConfigEnvironmentProcessor

3、NacosConfigEnvironmentProcessor邏輯解析

咱們來看一下NacosConfigEnvironmentProcessor類中到底干了啥?實(shí)現(xiàn)了EnvironmentPostProcessor接口的postProcessEnvironment這個(gè)方法

image.png

其中加載了NacosConfigApplicationContextInitializer這個(gè)類,實(shí)現(xiàn)了ApplicationContextInitializer,這個(gè)接口在springboot啟動(dòng)過程中是很重要的,會(huì)初始化一些東西

image.png

image.png

為了更方便的看到結(jié)果,我打個(gè)斷點(diǎn)到loadConfig中,主要看reqGlobalNacosConfig方法

image.png

在reqGlobalNacosConfig方法中,我們看到我們熟悉的dataIds,這個(gè)是在配置中配置的,對(duì)應(yīng)的nacos服務(wù)端的配置,配置的dataIds是以逗號(hào)分隔的字符串,這里主要是將dataIds字符串轉(zhuǎn)換成數(shù)組:

image.png

最終會(huì)走到reqNacosConfig中,有個(gè)for循環(huán)來循環(huán)dataIds,NacosUtils.getContent方法就是通過dataId,拿到服務(wù)端的配置。底層還是通過http請(qǐng)求訪問的http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=xxx_database_config&group=DEFAULT_GROUP&tenant=xxx 接口,由于篇幅的原因,這里就不解釋了,我們主要是看nacos的配置是怎么拿到的。

image.png

本文章只提供看源碼的思路,如果想具體了解nacos獲取配置的全過程,還需要你真正的去debug源碼。

我這里留一個(gè)小問題,大家可以思考一下:NacosConfigEnvironmentProcessor類 什么時(shí)候被springboot加載的。

到此這篇關(guān)于springboot中nacos-client獲取配置的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)springboot nacos-client獲取配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 新手初學(xué)Java流程控制

    新手初學(xué)Java流程控制

    這篇文章主要介紹了JAVA流程控制語句的的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下,希望可以幫到你
    2021-07-07
  • idea 無法創(chuàng)建Scala class 選項(xiàng)的原因分析及解決辦法匯總

    idea 無法創(chuàng)建Scala class 選項(xiàng)的原因分析及解決辦法匯總

    這篇文章主要介紹了idea 無法創(chuàng)建Scala class 選項(xiàng)的解決辦法匯總,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 走進(jìn)SpringBoot之配置文件與多環(huán)境詳解

    走進(jìn)SpringBoot之配置文件與多環(huán)境詳解

    這篇文章主要介紹了走進(jìn)SpringBoot之配置文件與多環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • mybatis-plus攔截器、字段填充器、類型處理器、表名替換、SqlInjector(聯(lián)合主鍵處理)

    mybatis-plus攔截器、字段填充器、類型處理器、表名替換、SqlInjector(聯(lián)合主鍵處理)

    本文主要介紹了mybatis-plus攔截器、字段填充器、類型處理器、表名替換、SqlInjector(聯(lián)合主鍵處理),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java中獲取當(dāng)前路徑的幾種方法總結(jié)

    Java中獲取當(dāng)前路徑的幾種方法總結(jié)

    這篇文章主要介紹了Java中獲取當(dāng)前路徑的幾種方法總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Python中scrapy框架的ltem和scrapy.Request詳解

    Python中scrapy框架的ltem和scrapy.Request詳解

    這篇文章主要介紹了Python中scrapy框架的ltem和scrapy.Request詳解,Item是保存爬取數(shù)據(jù)的容器,它的使用方法和字典類似,不過,相比字典,Item提供了額外的保護(hù)機(jī)制,可以避免拼寫錯(cuò)誤或者定義字段錯(cuò)誤,需要的朋友可以參考下
    2023-09-09
  • JVM性能調(diào)優(yōu)實(shí)現(xiàn)原理及配置

    JVM性能調(diào)優(yōu)實(shí)現(xiàn)原理及配置

    這篇文章主要介紹了JVM性能調(diào)優(yōu)實(shí)現(xiàn)原理及配置,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 深度解析SpringBoot內(nèi)嵌Web容器

    深度解析SpringBoot內(nèi)嵌Web容器

    這篇文章主要給大家介紹SpringBoot的內(nèi)嵌Web容器,SpringBoot將Web容器進(jìn)行了內(nèi)嵌,我們只需要將項(xiàng)目打成一個(gè)jar包,就可以運(yùn)行了,大大省略了開發(fā)成本,那么SpringBoot是怎么實(shí)現(xiàn)的呢,我們今天就來詳細(xì)介紹
    2023-06-06
  • 從零開始Mybatis連接數(shù)據(jù)庫的方法

    從零開始Mybatis連接數(shù)據(jù)庫的方法

    這篇文章主要介紹了Mybatis連接數(shù)據(jù)庫的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • Java super關(guān)鍵字用法實(shí)戰(zhàn)案例分析

    Java super關(guān)鍵字用法實(shí)戰(zhàn)案例分析

    這篇文章主要介紹了Java super關(guān)鍵字用法,結(jié)合具體案例形式分析了java super關(guān)鍵字調(diào)用父類構(gòu)造方法、屬性及方法等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-09-09

最新評(píng)論