统一配置管理
步骤:nacos服务后台-配置管理-配置列表-创建配置
- 引入nacos的配置管理客户端依赖
<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2023.0.1.0</version>
</dependency>
- 在userservice中的resource目录添加
bootstrap.yml
文件,这个文件是引导文件,优先级高于application.yml
spring:
application:
name: userservice # 服务名称
profiles:
active: dev #开发环境,这里是dev
cloud:
nacos:
server-addr: localhost:8848
config:
file-extension: yaml # 文件后缀名
在启动时可能会遇到一些问题,其原因可能是
SpringCloud版本把bootstrap禁用了
解决1:引入依赖
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-bootstrap -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>4.1.2</version>
</dependency>
解决2: 看这个贴子
配置更改热更新(不用重启,自动更新)
nacos中的配置文件变更后,微服务无需重启就可以感知。
- 方式1:在@Value注入的变量所在类上添加注解@RefreshScope
- 方式2:使用@ConfigurationProperties注解