
将配置交给 Nacos 管理的步骤:
具体操作:
1)在 Nacos 中添加配置信息

2)在弹出表单中填写配置信息

3)配置获取的步骤如下

4)引入 Nacos 的配置管理客户端依赖
<!-- nacos配置管理依赖 --><dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency>5)在 resource 目录添加一个 bootstrap.yml 文件,这个文件是引导文件,优先级高于 application.yml
spring:application: name: userservice # 服务名称profiles: active: dev # 开发环境,这里是devcloud: nacos: server-addr: localhost:8848 # Nacos地址 config: file-extension: yaml # 文件后缀名6)测试:将(Nacos 配置内容中的)pattern.dateformat 这个属性注入到 UserController 中
@RestController @RequestMapping("/user") public class UserController { // 注入nacos中的配置属性 @Value("${pattern.dateformat}") private String dateformat; // 编写controller,通过日期格式化器来格式化现在时间并返回 @GetMapping("now") public String now(){ return LocalDate.now().format( DateTimeFormatter.ofPattern(dateformat, Locale.CHINA) ); } // ... 略 }Nacos 配置更改后,微服务可以实现热更新,两种方式如下:
注意事项:
方式一:在 @Value 注入的变量所在类上添加注解 @RefreshScope

方式二:使用 @ConfigurationProperties 注解
@Component@Data@ConfigurationProperties(prefix="pattern")public class PatternProperties { private String dateformat;}微服务会从 nacos 读取的配置文件:
[服务名]-[spring.profile.active].yaml:环境配置(例如 userservice-dev.yaml)。[服务名].yaml:默认配置,多环境共享(例如 userservice.yaml)。[服务名].yaml 这个文件一定会加载,因此多环境共享配置可以写入这个文件。
配置加载优先级:

不同服务之间共享配置文件的两种方式:
方式一:通过 shared-configs 指定
spring: application: name: userservice # 服务名称 profiles: active: dev # 环境 cloud: nacos: server-addr: localhost:8848 # Nacos 地址 config: file-extension: yaml # 文件后缀名 shared-configs: # 多微服务间共享的配置列表 - dataId: common.yaml # 要共享的配置文件 id方式二:通过 extension-configs 指定
spring: application: name: userservice # 服务名称 profiles: active: dev # 环境 cloud: nacos: server-addr: localhost:8848 # Nacos 地址 config: file-extension: yaml # 文件后缀名 extends-configs: # 多微服务间共享的配置列表 - dataId: extend.yaml # 要共享的配置文件 id多种配置的优先级:
