使用nacos当做配置中心
github地址:https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/nacos-example/nacos-config-example/readme.md
- 配置pom,引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-nacos-config</artifactId>
</dependency>
- 创建一个bootstrap.properties的文件,进行配置·
spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
-
要给nacos 配置中心创建一个数据集(Data id) , gulimall-coupon.properties 默认命名规则: 工程名.properties
-
给应用名.properties 添加任何配置
-
动态获取配置中心的配置数据
1). @RefreshScope 注解动态获取并刷新配置
@Valid("${配置属性}") 获取配置中心的配置数据
如果配置的属性中nacos和application.properties有相同的配置项,优先使用nacos配置
工程中application.properties默认配置
nacos gulimall-coupon.properties配置
测试结果:
配置后重启工程,日志中将会有默认加载配置描述:
细节:
-
命名空间: 配置隔离
默认:public (保留空间)。默认新增的所有配置都在public空间
- 开发,测试,生产,利用命名空间进行环境隔离
注意:在bootstrap.properties配置上,需要使用哪个命名空间下的配置
spring.cloud.nacos.config.namespace=a147d628-1467-496e-bb8d-d8595eb59af1 - 每一个微服务之间相互隔离,每一个微服务都有自己的命名空间,只加载自己的命名 空间下文件
- 开发,测试,生产,利用命名空间进行环境隔离
-
配置集: 所有配置的集合
-
配置集ID: 类似文件名
Data ID :类似文件名 -
配置分组: 就是将一个微服务下的不同的生产环境进行分组
同时加载多个数据集:
- 将springapplication.yaml 文件中的配置进行拆分。可以配置不同的分组
拆分如下:
success!