03-Nacos配置管理-微服务配置拉取
1.统一配置管理
在没有Nacos的时候,服务如何获取配置的?
项目启动 =》读取本地配置文件application.yml =》创建Spring容器 =》 加载Bean
有Nacos的时候,服务如何获取配置的?
bootstrap.yml文件的优先级会比application.yml的优先级高很多,所以项目启动以后会优先读取bootstrap.yml里面的信息,所以我们只要把Nacos的地址、文件的相关信息都配置进去,就可以完成Nacos中配置文件的读取了。然后再跟本地结合,完成后续动作。
2.统一配制管理
1.引入Nacos的配置管理客户端依赖:
// nacos的配置管理依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2.在userservice中的resource目录添加一个bootstrap.yml文件,这个文件是引导文件,优先级高于application.yml:
spring:
application:
name: userservice
profiles:
active: dev #环境
cloud:
nacos:
server-addr: localhost:8848 // Nacos地址
config:
file-extension: yaml // 文件名后缀
我们在user-service中将pattern.dateformat这个属性注入到UserController中做测试:
@Value("${pattern.dateformat}")
private String dateformat;
@GetMapping("now")
public String now() {
return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));
}
3.总结:
将配置交给Nacos管理
1.Nacos中添加配置文件
2.在微服务中引入Nacos的config依赖
3.在微服务中添加bootstrap.yml,配置Nacos地址、当前环境、服务名称,文件名后缀。这些决定了程序启动时去Nacos读取哪个文件。