- 目录:
- 一、Nacos配置中心快速入门
- 二、Nacos配置自动刷新
- 三、Nacos配置共享
配置优先级
一、Nacos配置中心快速入门
①常规项目:项目启动→读取application.yml配置文件→创建Spring IOC容器→加载Bean;
②Nacos配置中心项目:项目启动→读取Nacos配置中心文件→读取application.yml配置文件→创建Spring IOC容器→加载Bean;
注意:此处的问题是Nacos server-addr相关配置在application.yml中,所以引入bootstrap.yml配置,来提前加载Nacos配置中心所需配置。
③Nacos配置中心项目:项目启动→读取bootstrap.yml配置文件→读取Nacos配置中心文件→读取application.yml配置文件→创建Spring IOC容器→加载Bean;
- 1、基础依赖
注意:SpringCloud2020及以后的版本默认不启用 bootstrap 配置,我们需要在pom里面显式地引入,以开启bootstrap.yml配置文件读取的支持。
- 2、编写bootstrap.yml配置文
user服务读取配置中心配置三要素:
①spring-application-name:应用名称-userservice;
②spring-profiles-active:配置文件环境-dev(代表开发环境develop);
③file-extension:文件扩展名-yaml;
配置中心处,配置文件完整名称:userservice-dev.yaml
- 3、编写userservice-dev.yaml配置文件
①配置管理→配置列表→➕
②编写userservice-dev.yaml配置文件
- 4、编写代码读取配置
①@Value注解注入配置属性
②方法内读取配置
二、Nacos配置自动刷新
- 1、@RefreshScope注解 + @Value注解
在对应的@Value注解使用的类上使用@RefreshScope注解
- 2、@ConfigurationProperties注解 + @Autowired注解
编写Config类:prefix = "pattern" + [field] dateformat,与配置文件pattern.dateformat 对应即可。
- 3、获取Config类的bean,获取属性
三、Nacos配置共享
- 1、[spring-application-name][spring-profiles-active][file-extension]
开发环境:userservice-dev.yaml
测试环境:userservice-test.yaml
生产环境:userservice-pro.yaml - 2、[spring-application-name][file-extension]
共享配置:userservice.yaml - 3、application.yml本地配置
配置优先级:[spring-application-name][spring-profiles-active][file-extension]>[spring-application-name][file-extension]>
本地配置; 即:服务名-环境类型.yaml>服务名.yaml>本地配置。 如果配置不同,则合并,相同则优先级高的覆盖优先级低的。
- 4、shared-configs 和 extension-configs
优先级:extension-configs > shared-configs ,此处不做展开,配置如下:
另外:extension-configs的加载后于shared-configs。