统一配置管理
先看一下我们的service与nacos 的流程图
一、在nacos中增加配置
Nacos配置管理
Data Id :配置文件名称,命名规则: 服务名称-运行环境环境-后缀名(.yml,yaml)
Group:分组名称默认
配置内容:对应的是工程中服务下的application.yml文件的内容,
这里需要配置的一般是开关类型的配置, 模板类型的配置,其他固定类的不建议这里配置
二、在项目工程引入和使用nacos中的配置
没有nacos管理配置文件的情况下的项目启动流程
使用nacos管理配置时,项目启动时会把nacos配置文件和application.yml文件中的配置内容合并
项目启动的时候需要提前知道nacos的环境信息,application.yml在项目启动时读取的,这里就需要引入bootstrap.yml文件,这个项目在加载前会先去读取bootstrap,然后才去读取application
bootstrap.ym是一个引导文件优先级高于application.yml
如何使用bootstrap,如下步骤:
引入nacos的配置管理依赖
<!--nacos的配置管理依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
在对应的 服务下resource目录下,新建 bootstrap.yml
userservice-dev.yaml
分别对应的时下面的:
name:
active:
file-extendsion:
spring:
application:
name: userservice
profiles: # 环境
active: dev
cloud:
nacos:
server-addr: localhost:8848 #nacos地址
config:
file-extension: yaml #文件后缀名
annpication.yml中相互对应的部分注释掉
三、检验是否成功
在controller中去读取一下
// 通过Value注解读取配置内容
@Value("${pattern.dateformat}")
private String dateformat
@GetMapping("now")
public String now(){
return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));
}
nacos的配置内容
读取成功:
四、步骤总结:
- 在Nacos中添加配置文件
- 在微服务中引入nacos的config的依赖
- 在微服务中添加bootstrap.yml,配置nacos地址、当前环境、服务名称、文件后缀名、这些就决定了程序启动时去nacso读取哪个文件