yml配置從nacos配置中心取數據(單個或多個)

  • 2021 年 5 月 28 日
  • 筆記
  1. 讀取單個文件

    spring:
      cloud:
        nacos:
          config:
            server-addr: localhost:8848
            namespace: **********下面的配置文件必須在此命名空間下
            name: test-one
            file-extension: yaml
    
  2. 讀取多個(此處只寫了一個)

    spring:
      cloud:
        nacos:
          config:
            server-addr: localhost:8848
            namespace: **********下面的配置文件們必須在此命名空間下
            extension-configs:
              - dataId: test-one.yaml
                group: DEFAULT_GROUP
                refresh: true
                
              - dataId: test-two.yaml
                group: DEFAULT_GROUP
                refresh: true
    
  3. nacos上面的配置

    • Data ID:test-one.yaml / test-two.yaml

    • 配置格式:YAML 注意yaml格式,也即空格和縮進

    • 內 容:可以使用資料庫做測試,但是記得加上前綴

      spring:
        datasource:
        	##...
      
  4. 小坑

    • 單個文件:
      • name:必須要帶.yaml
      • file-extension: 必須是yaml,不可以是yml
    • 多個文件:
      • nacos上面Data ID必須帶上.yaml
      • 配置文件中的dataId也要帶上.yaml
  5. 讀一讀源碼,配置文件參數需要的參數

    yml文件下對於這種又沒有提示,不想網上搜,只能自己點一點源碼,速度還快。

    • 按住Ctrl+單擊標題2中的extension-configs

      image-20210528184620976

      這裡可以看到傳入的參數是一個Config對象數組。

      在yml的對象配置一般都是

       - arg1: arg1
         arg2: arg2
         arge: arg3
      

      對象數組呢?那就是這種-開頭的可以寫多個。其實看到extension-configs帶s就要想到

      那麼對象中的屬性其實是對應類的屬性名稱。

      哪些屬性的類型可以直接拿字元串配置的呢:

      8中基本類型、包裝類型、String、URI、Class和Resource

      註:URI:統一資源路徑地址、Class:類對象、Resource:資源文件路徑

  6. 讀一讀都有哪些屬性可以配置,ctrl單擊Config

    image-20210528190348894

    • dataId: 對應nacos下的dataId/單個文件下配置時候的name

    • group: 就是組,沒找到是否可以不寫,建議寫上,嚴謹一點。

    • refresh: 是否要取設置自動更新,默認不開啟。

      (可以在nacos上面修改數據,會動態刷新)

  7. 配置上啟動測試即可。


​ Java的開發習慣,當返回類型是boolean類型時候,getter方法修改為: isXxx