0


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>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
    <!--SpringCloud ailibaba nacos -->
    <dependency>
      <groupId>com.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文件中的内容,成功显示出来


本文转载自: https://blog.csdn.net/u011066470/article/details/129271345
版权归原作者 健康平安的活着 所有, 如有侵权,请联系我们删除。

“springcloud3 Nacos中配置中心config内容获取与配置(namespace,group,dataId)”的评论:

还没有评论