声明:入门级文档,更多内容会持续更新,不足之处,望不吝指点
一、启动Nacos配置中心
- Nacos的安装与启动
大体可以参照服务发现:Spring Cloud Alibaba Nacos一文来启动,在此就不赘述了 - 中心配置的添加
- 点击配置管理-配置列表
- 可以选择导入配置来批量导入配置,也可以选择右侧的加号来添加一个配置文件
-
Data Id
就是配置文件的名字,包括配置文件的后缀名,比如nacos-client-provider.yaml
-
Group
就是配置文件要加入的组,一个配置文件是通过组名和文件名共同来确定唯一性的 - 配置格式选择对应的配置格式
- 配置内容就是配置的具体内容,务必按所选格式书写
- 点击发布
二、应用中如何使用Nacos配置中心的配置
- 添加依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 添加配置文件
bootstrap.yaml
spring:
application:
name: nacos-client-provider
cloud:
nacos:
# nacos config相关的配置
config:
# 配置中心地址,可以和服务中心的一样,也可以不一样
server-addr: localhost:8848
# 命名空间
namespace: 0d12689e-cd5b-483b-a050-162398ee9482
# 配置所在组
group: nacos-client-provider-test
# 配置文件的后缀名,默认是properties , 该项对Custom Data Id是不起作用的
file-extension: yaml
# 下方两个配置都是设置配置文件名的(除了后缀)优先级是 prefix > name > spring.application.name
# prefix: nacos-client-provider
# name: nacos-client-provider
# 字符格式
#encode: UTF-8
# nacos discovery相关的配置
discovery:
server-addr: localhost:8848
# 命名空间
namespace: 0d12689e-cd5b-483b-a050-162398ee9482
- 给需要注入配置的地方加上
@Value
注解
@Value("${cn.mtk.nacos-test.hello}")
private String hello;
- Nacos支持随时发布新的配置,你可以在Nacos的控制台中点击编辑然后发布新的配置,你的应用会接收到发布的事件,并进行配置的更新。给需要动态更新配置的地方加上
@RefreshScope
注解,这样就可以在配置被更新时,更新整个需要动态配置的Bean
@RestController
@RequestMapping("/provider")
@RefreshScope
public class ProviderController {
@Value("${cn.mtk.nacos-test.hello}")
private String hello;
@GetMapping("/getHello")
public String getHello(){
return hello;
}
}
附:
- Nacos中额外的全局设定如何配置
如果我想给多个服务再多指定一个所有服务共享的配置
spring:
cloud:
nacos:
# nacos config相关的配置
config:
extension-configs:
- dataId: application.yaml
group: nacos-client-provider-test
refresh: true
参考文档:
[1] spring cloud alibaba
网友评论