一 Namespance和group和dataId的联系
1.1 3者之间的联系
话不多说,上答案,如下图:
namespance用于区分部署环境,group和dataId用于逻辑上区分两个目标对象。
二 案例:实现读取注册中心的不同环境下的配置文件
2.1 说明
指定spring.profile.active 和配置文件的DataID来使不同环境下读取不同配置。
默认空间+默认分组+新建的dev和test的DataId 区分不同的配置文件
2.2 映射关系
2.3 操作
2.3.1 工程结构
2.3.2 nacos配置namespace,group,dataId
启动nacos,新建namespace和group,DataId,
1.新建namespance: 默认生产一长串的空间id
2.在新建的namespace新建group,和DataId,如下图
dataId:nacos-config-client-ljf-dev.yaml 后面java工程配置参考使用
group: DEV_GROUP_ljf 后面java工程配置参考使用
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 配置文件
代码
# nacos配置
server:port: 7003spring:application:name: nacos-config-client-ljfcloud:nacos:discovery:server-addr: localhost:8848 #Nacos服务注册中心地址config:server-addr: localhost:8848 #Nacos作为配置中心地址file-extension: yaml #指定yaml格式的配置group: DEV_GROUP_ljfnamespace: 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.5 controller
1.在java代码配置读取远程注册中心nacos文件中内容,如下图所示:
2.3.6 启动类
2.3.7 测试
1.启动成功
2.测试