springcloud3 Nacos中配置中心config内容获取与配置(namespace,group,dataId)

springcloud3 Nacos中配置中心config内容获取与配置(namespace,group,dataId)

一  配置文件的属性

1.1  配置文件的配置规则

${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

说明如下:

prefix 默认为spring.application.name的值

spring.profile.active 即为当前环境对应的profile;

file-extension 为配置内容的数据格式

注意:当spring.profile.active为空时,对应的连接符-也将不存在,dataid的格式变为了: ${prefix}.${file-extension}

1.2  namespace和group和dataID3者之间的联系

1.默认配置

namespace=public  ; group=default_group ;   cluster=default

2.自定义配置: 话不多说,上答案,如下图:

 namespance用于区分部署环境group和dataId用于逻辑上区分两个目标对象

1.3 application和bootstrap配置文件重要性

必须含有application.yml和bootstrap.yml配置文件

二    案例:实现读取注册中心的不同环境下的配置文件 

2.1 说明groupid和active的作用

spring.profile.active 作用指定读取多环境下不同的配置文件。

默认空间+默认分组+新建的dev和test的DataId 区分不同的配置文件

2.2 映射关系

 2.3 读取单个配置文件操作

2.3.1 工程结构

2.3.2  nacos配置namespace,group,dataId

启动nacos,新建namespace和group,DataId

 2.3.2.1 新建namespace

1.新建namespance:   默认生产一长串的命名空间id: 05573840-fcf3-472d-a64a-c66b4fe878f4  后面java工程配置参考使用

  2.3.2.2 新建group和dataid

 2.在新建的namespace新建group,和DataId,如下图

dataId:nacos-config-client-ljf-dev.yaml       配置原则为spring.appliaction.name-[dev|test....] 

作用: 后面java工程配置参考使用

group:  DEV_GROUP_ljf    配置原则为:所起名称要有意义。  后面java工程配置参考使用

发布保存

3.配置好,截图如下

 2.3.3  pom文件

 1.pom文件

 <!--nacos-config-->
    <dependency>
      <groupId>***.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
    <!--SpringCloud ailibaba nacos -->
    <dependency>
      <groupId>***.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    <!-- 引入自己定义的api通用包,可以使用Payment支付Entity -->

    <!-- SpringBoot整合Web组件 -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

 2.3.4  配置文件

2.3.4.1 关系

必须含有application.yml和bootstrap.yml配置文件

2.之间配置关系 

 2.3.4.2 bootstrap文件

代码

# nacos配置
server:
  port: 7003

spring:
  application:
    name: nacos-config-client-ljf
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos服务注册中心地址
      config:
        server-addr: localhost:8848 #Nacos作为配置中心地址
        file-extension: yaml #指定yaml格式的配置
        group: DEV_GROUP_ljf
        namespace: 05573840-fcf3-472d-a64a-c66b4fe878f4


# ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
# nacos-config-client-dev.yaml

# nacos-config-client-test.yaml   ----> config.info
 2.3.4.3 application配置文件
spring:
  profiles:
    #active: dev # 表示开发环境
    active: test # 表示测试环境
    #active: info

 2.3.5  controller

1.在java代码配置读取远程注册中心nacos文件中内容,如下图所示:

   2.3.6  启动类

 2.3.7 测试

1.启动成功

 2.测试

 2.4 动态刷新

为了保证修改nacos的配置文件内容,能够被程序动态读取到,需要在controller类中添加注解。

@RefreshScope //支持Nacos的动态刷新功能。

如图:

测试访问:

配置文件进行修改

 再次访问:

2.5 active指定不同文件进行访问

2.5.1.在nacos指定多个配置文件

1.新建配置文件:nacos-config-client-ljf-test.yaml;  

注意:在namespace,groupid,配置文件dataid不同:

nacos-config-client-ljf-dev.yaml;  nacos-config-client-ljf-test.yaml;  两个不同文件

填写如下图所示内容:

 

2.修改application中的active配置,这次指定为test文件

 3.进行访问:这次看到加载的是 nacos-config-client-ljf-test.yaml文件中的内容,成功显示出来

转载请说明出处内容投诉
CSS教程_站长资源网 » springcloud3 Nacos中配置中心config内容获取与配置(namespace,group,dataId)

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买