1、在nacos的配置管理中添加配置
:
2、添加依赖(第一个是nacos配置管理的依赖,第二个是bootstrap(一个配置文件)的依赖,):
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.0</version>
</dependency>
3、配置bootstrap.yml文件(配置的原因:因为项目一启动开始就去读nacos中的配置文件,而不是直接读取application.yml文件。这就导致在application.yml中配置的nacos中的路径和其他的都不能提前知道了。这就需要一个启动之后先获取nacos的配置的文件,之后去读nacos中的配置)
知道了bootstrap.yml的由来,下面是它里面的内容:
spring:
application:
name: ccService #配置的名称
profiles:
active: dev #配置的环境
cloud:
nacos:
discovery:
server-addr: localhost:8848 #nacos的地址
config:
file-extension: yaml #配置的文件后缀
4、使用方法:可以通过@Value方法将配置文件中的值获取,如果要实现热更新则需要在使用该注解的类上添加个@RefreshScope,
第二种方法:使用@ConfigurationProperties(prefix = "time")来将配置文件中的值与属性名对应。这种方法不需要其他就可以实现热更新
二、 配置的多环境共享:
1、配置的环境有很多,dev,test等等。这些都是profiles。例如userservice-dev、userservice-test的之类的。那么如何做到这些环境的共享数据呢。
因为这些环境的名称都相同,每个环境不同的只是后面的profiles。那么只需要一个userservice.yaml文件就可以实现这些环境的共享
2、环境的优先级:不同的环境可以有相同的属性值,那么以哪个为准呢?名称-profiles.yaml >名称.yaml>本地配置