springcloud3 Nacos中配置中心config内容获取与配置(namespace,group,dataId)
作者:mmseoamin日期:2024-01-22

一  配置文件的属性

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}

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

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

1.默认配置

namespace=public  ; group=default_group ;   cluster=default

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

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

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

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

1.3 application和bootstrap配置文件重要性

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

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

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

2.1 说明groupid和active的作用

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

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

2.2 映射关系

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

 2.3 读取单个配置文件操作

2.3.1 工程结构

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

2.3.2  nacos配置namespace,group,dataId

启动nacos,新建namespace和group,DataId

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

 2.3.2.1 新建namespace

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

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

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

  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工程配置参考使用

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

发布保存

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

3.配置好,截图如下

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

 2.3.3  pom文件

 1.pom文件

 
    
      com.alibaba.cloud
      spring-cloud-starter-alibaba-nacos-config
    
    
    
      com.alibaba.cloud
      spring-cloud-starter-alibaba-nacos-discovery
    
    
    
    
      org.springframework.boot
      spring-boot-starter-web
    
    
      org.springframework.boot
      spring-boot-starter-actuator
    

 2.3.4  配置文件

2.3.4.1 关系

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

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

2.之间配置关系 

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

 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文件中内容,如下图所示:

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

   2.3.6  启动类

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

 2.3.7 测试

1.启动成功

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

 2.测试

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

 2.4 动态刷新

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

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

如图:

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

测试访问:

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

配置文件进行修改

springcloud3 Nacos中配置中心config内容获取与配置(namespace,group,dataId),第21张 再次访问:

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

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;  两个不同文件

填写如下图所示内容:

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

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

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

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

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

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

 

上一篇:XCP学习

下一篇:SpringBoot使用AOP详解