1.引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.创建bootstrap.properties
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.application.name=test-app
3.需要给配置中心默认添加一个数据集 test-app.properties
4.给test-app.properties添加配置
5.动态获取配置 @RefreshScope 动态获取并刷新配置
6.使用
@Value("${配置项}")
说明:如果配置中心和当前应用都使用了相同的配置,优先使用配置中心的配置
7.命名空间和配置分组
命名空间:配置隔离
1.默认是public ,可以创建dev,sit,uat,可以用命名空间做环境隔离
指定命名空间的配置 spring.cloud.nacos.namespace=namespace_id
2.每个微服务之间相互隔离配置,每个微服务都创建自己的命名空间
配置集
所有配置的集合
配置集Id
配置文件名
配置分组
默认:DEFAULT_GROUP
建议: 每个微服务创建自己的命名空间,使用配置分组区分环境
加载多个配置中心的示例
spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml
spring.cloud.nacos.config.extension-configs[0].group=dev
spring.cloud.nacos.config.extension-configs[0].refresh=true
spring.cloud.nacos.config.extension-configs[1].data-id=mybatis.yml
spring.cloud.nacos.config.extension-configs[1].group=dev
spring.cloud.nacos.config.extension-configs[1].refresh=true
spring.cloud.nacos.config.extension-configs[2].data-id=other.yml
spring.cloud.nacos.config.extension-configs[2].group=dev
spring.cloud.nacos.config.extension-configs[2].refresh=true
8.一个完整的配置示例
spring.application.name=test-app
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=
#load default config user prod group
spring.cloud.nacos.config.group=prod
spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml
spring.cloud.nacos.config.extension-configs[0].group=dev
spring.cloud.nacos.config.extension-configs[0].refresh=true
spring.cloud.nacos.config.extension-configs[1].data-id=mybatis.yml
spring.cloud.nacos.config.extension-configs[1].group=dev
spring.cloud.nacos.config.extension-configs[1].refresh=true
spring.cloud.nacos.config.extension-configs[2].data-id=other.yml
spring.cloud.nacos.config.extension-configs[2].group=dev
spring.cloud.nacos.config.extension-configs[2].refresh=true
9.官方文档参考
spring-cloud-alibaba-nacos-examples
10.注意事项
引入依赖的版本不同,配置项可能不一样,具体参考官方每个版本的文档