yml配置从nacos配置中心取数据(单个或多个),读读源码,寻找如何配置多个

更详细或者其他配置方法,可以参考这位大佬的博客:Nacos配置管理及动态刷新

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

posted @ 2021-05-28 19:15  Codorld  阅读(3096)  评论(1编辑  收藏  举报