系统整理springCloud系列(十二)nacos配置中心
使用Nacos作为配置中心(相当于Spring Cloud Config + Bus)
应用实例
pom
<!--nacos-config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--nacos-discovery-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
配置文件
bootstrap.yml
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 #服务注册中心地址
config:
server-addr: localhost:8848 #配置中心地址
file-extension: yaml #指定yaml格式的配置
application.properties
spring:
profiles:
active: dev
控制器,获取一下配置文件信息
@RestController
@RefreshScope //支持controller的动态刷新
public class ConfigClientController
{
@Value("${config.info}")
private String configInfo;
@GetMapping("/config/info")
public String getConfigInfo() {
return configInfo;
}
}
启动类
@EnableDiscoveryClient
@SpringBootApplication
public class NacosConfigClientMain3377
{
public static void main(String[] args) {
SpringApplication.run(NacosConfigClientMain3377.class, args);
}
}
现登陆nacos控制台
添加配置
${prefix}-${spring.profile.active}.${file-extension}
配置文件名为服务名+环境配置+文件类型
nacos-config-client-dev.yaml
此处
dataid必须为全文件名后缀为.yaml
启动服务
访问
发布
nacos配置 命名空间 dataid 组
Namespace+Group+Data ID三者关系?为什么这么设计
通过spring.profile.active属性就能进行多环境下配置文件的读取
新建命名空间
修改配置文件
添加
server:
port: 3377
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 #服务注册中心地址
config:
server-addr: localhost:8848 #配置中心地址
file-extension: yaml #指定yaml格式的配置
group: TEST_GROUP #默认:DEFAULT_GROUP
namespace: 8a2ee2e5-fa86-45a0-ac2b-8316aeab2ead #命名空间id 默认:public