springcloud alibaba nacos config

官方文档地址: https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config 

1.基本使用

使用非常简单,参照文档即可,pom:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

bootstrap.yml:

server:
  port: 4455

spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml

application.yml:

spring:
  profiles:
    active: test

controller获取config内容:

@RestController
@RefreshScope
public class NacosConfigController {
    @Value("${service.info}")
    private String info;

    @GetMapping("/info")
    public String getInfoFromNacosConfig() {
        return info;
    }
}

nacos config:

 

 测试结果:

 

2.nacos配置文件获取规则:

文档粘贴出来这段话: spring-cloud-starter-alibaba-nacos-config 在加载配置的时候,不仅仅加载了以 dataid 为 ${spring.application.name}.${file-extension:properties} 为前缀的基础配置,还加载了dataid为 ${spring.application.name}-${profile}.${file-extension:properties} 的基础配置。在日常开发中如果遇到多套环境下的不同配置,可以通过Spring 提供的 ${spring.profiles.active} 这个配置项来配置。

解释: 读取规则是 读取nacos上 ${spring.application.name}-${profile}.${file-extension:properties} 的配置文件,举例我的,配置名字就可以是nacos-config-client-dev.yaml

 

3.nacos config的几个控制粒度: dataId, group, namespace

dataId

通过spring.profiles.active的不同,就是dataId粒度的不同。

测试:

 就读取到nacos-config-client-test.yaml的内容

 当

 就读取到nacos-config-client-dev.yaml的内容:

 

 

group

看看nacos config:

 

测试:

 

 

 当

 

 

 namespace

默认的namespace是public,我创建了两个namespace: namespace1, namespace2

然后在这两个namespace下分别创建config

 

 

 测试:

 

当:

 

 

 

 以上就是试验结果。文档里也讲的挺详细的。不清楚就看看文档。

 

posted @ 2021-05-29 22:13  圣金巫灵  阅读(121)  评论(0)    收藏  举报