本文主要讲解nacos服务配置的命名空间。我们可以通过命名空间,分组,激活环境配置来获取nacos中对应名称空间、分组、激活环境对应文件信息。
例如:我们要创建多个名称空间,新创建的名称空间下没有配置信息,我们需要创建不同分组的配置信息,以便于获取这些信息。
具体步骤如下:
- 在
http://localhost:8848/nacos
中新建命名空间:
- 创建配置信息
说明:在dev
命名空间中创建不同组别的配置信息。
查看这些不同组别的配置信息
- 导包(在模块3377中操作)
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 写配置
1)bootstrap.yml
配置:
# nacos配置
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 #Nacos服务注册中心地址
config:
server-addr: localhost:8848 #Nacos作为配置中心地址
file-extension: yaml #指定yaml格式的配置
group: DEV_GROUP
namespace: f1e7ecd8-7a82-4793-a97f-a39a07e20853
# ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension}
# nacos-config-client-dev.yaml
# nacos-config-client-test.yaml ----> config.info
说明:namespace
——定位了名称空间(后面的字符是创建名称空间后自动产生的)。group
——定位到该名称空间下的分组。
2)application.yml
配置:
spring:
profiles:
active: dev # 表示开发环境
# active: test # 表示测试环境
# active: info
说明:active
——激活的环境。即上面配置中对应分组下的Data Id
中的对应的环境名称。此时就已经精确定位到了具体的配置文件上。
- 主程序类
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConfigClientMain3377 {
public static void main(String[] args) {
SpringApplication.run(NacosConfigClientMain3377.class, args);
}
}
- 业务类
通过controller
来获取上面文件中的配置信息。
@RestController
@RefreshScope
public class ConfigClientController {
@Value("${config.info}")
private String configInfo;
@GetMapping("/config/info")
public String getConfigInfo() {
return configInfo;
}
}
- 测试
在浏览器中输入http://localhost:3377/config/info
来查看配置信息。