yml配置从nacos配置中心取数据(单个或多个)
- 2021 年 5 月 28 日
- 筆記
-
读取单个文件
spring: cloud: nacos: config: server-addr: localhost:8848 namespace: **********下面的配置文件必须在此命名空间下 name: test-one file-extension: yaml
-
读取多个(此处只写了一个)
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
-
nacos上面的配置
-
Data ID:test-one.yaml / test-two.yaml
-
配置格式:YAML 注意yaml格式,也即空格和缩进
-
内 容:可以使用数据库做测试,但是记得加上前缀
spring: datasource: ##...
-
-
小坑
- 单个文件:
- name:必须要带
.yaml
- file-extension: 必须是
yaml
,不可以是yml
- name:必须要带
- 多个文件:
- nacos上面Data ID必须带上
.yaml
- 配置文件中的dataId也要带上
.yaml
- nacos上面Data ID必须带上
- 单个文件:
-
读一读源码,配置文件参数需要的参数
yml文件下对于这种又没有提示,不想网上搜,只能自己点一点源码,速度还快。
-
按住Ctrl+单击标题2中的
extension-configs
这里可以看到传入的参数是一个
Config
对象数组。在yml的对象配置一般都是
- arg1: arg1 arg2: arg2 arge: arg3
对象数组呢?那就是这种
-
开头的可以写多个。其实看到extension-configs
带s就要想到那么对象中的属性其实是对应类的属性名称。
哪些属性的类型可以直接拿字符串配置的呢:
8中基本类型、包装类型、String、URI、Class和Resource
注:URI:统一资源路径地址、Class:类对象、Resource:资源文件路径
-
-
读一读都有哪些属性可以配置,ctrl单击
Config
-
dataId: 对应nacos下的dataId/单个文件下配置时候的name
-
group: 就是组,没找到是否可以不写,建议写上,严谨一点。
-
refresh: 是否要取设置自动更新,默认不开启。
(可以在nacos上面修改数据,会动态刷新)
-
-
配置上启动测试即可。
Java的开发习惯,当返回类型是boolean
类型时候,getter方法修改为: isXxx