引入依赖

:::tips 在每个微服务模块中引入Nacos配置中心的依赖 :::

  1. <!-- Nacos配置中心依赖 -->
  2. <dependency>
  3. <groupId>com.alibaba.cloud</groupId>
  4. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  5. </dependency>

创建配置

说明

:::tips 微服务要先拉取Nacos中的配置,然后与本地的application.yml配置合并,再完成项目启动,但如果尚未读取application.yml,又无法得知Nacos的地址,因此Spring引入了一种新的配置文件:bootstrap.yml,会在application.yml之前被读取
image.png :::

Nacos创建配置文件

:::tips 在Nacos中创建配置文件
image.png

然后在弹出的表单中,填写配置信息
image.png

创建完成 :::

从配置中心拉取配置

:::tips 因为bootstrap.yml文件会比application.yml配置文件先被Spring读取,因此需要在bootstrap.yml中提前指定服务名称、开发环境、Nacos连接信息等配置,然后才能去连接Nacos并拉取配置信息

在每个微服务模块中新建bootstrap.yml配置文件,然后添加以下配置 :::

  1. spring:
  2. application:
  3. #配置服务名称
  4. name: 服务名称
  5. profiles:
  6. #配置开发环境
  7. active: dev
  8. cloud:
  9. nacos:
  10. #Nacos连接地址
  11. server-addr: localhost:8848
  12. config:
  13. #Nacos中配置的扩展名
  14. file-extension: yml

说明

Nacos中新建配置时的命名规则:

  • 服务名称-开发环境.扩展名
    • 服务名称就是在配置文件中指定的服务名称
    • 开发环境:test、dev
    • 后缀:yml、yaml、properties

微服务启动时会读取Nacos中命名为服务名称-开发环境.扩展名的配置文件,同时也会读取到命名为服务名称.扩展名的配置文件,无论开发环境如何变化,服务名称.扩展名这个文件一定会加载,因此多个开发环境中共享的配置可以写入这个配置文件

当Nacos、微服务本地同时出现相同属性时的优先级(从高到低):

  1. Nacos中的配置:服务名称-开发环境.扩展名
  2. Nacos中的配置:服务名称.扩展名
  3. 本地配置:application.yml