新增配置
- DataID:需要唯一不重复,建议使用 `微服务名称 + 环境名 + 后缀名(yaml等)`
启动流程
项目启动
读取 `Nacos` 配置文件,通过 `bootstrap.yml` 文件
读取本地配置文件 `application.yml`
创建 Spring 容器
加载 bean
……
读取配置
com.alibaba.cloud
spring-cloud-starter-alibaba-nacos-discovery - 在项目的 resource 目录新增 bootstrap.yml 文件,此文件是引导文件,优先级高于 application.yml
spring: application: name: userservice profiles: active: dev # 开发环境 cloud: nacos: server-addr: localhost:8848 # Nacos 地址 config: file-extension: yaml # 文件后缀名
热更新
Nacos 中的配置文件变更后,微服务可以无需重启应用变更后的配置。
- 方式一:在 `@Value` 注入变量所在类上添加注解 `@RefreshScope`
- 方式二(推荐):使用 `@ConfigurationProperties` 注解,配合配置类使用
多环境共享
微服务启动,会从 Nacos 读取多个配置文件
- [spring.application.name]-[spring.profiles.active].yaml,例如:userservice-dev.yaml
- [spring.application.name].yaml,例如:userservice.yaml
其中 `[spring.application.name].yaml` 文件是不变的,而且一定会被加载,因此多环境共享配置,可以写入这个文件。
优先级
从高到低排序:
[spring.application.name] - [spring.profiles.active].yaml
[spring.application.name].yaml
application.yml

