【Nacos】项目集成Nacos配置
·
项目使用配置
spring:
config:
activate:
on-profile: local
import:
- classpath:config/application-local.yml
- classpath:config/application-mq-local.yml
- classpath:config/application-db-local.yml
- optional:nacos:application-local.yml?group=${spring.application.name}-adapter
- optional:nacos:application-mq-local.yml?group=${spring.application.name}-adapter
- optional:nacos:application-db-local.yml?group=${spring.application.name}-adapter
1. spring.config.activate.on-profile: local
含义:这是一个条件激活开关。
作用:这段配置只有在你启动项目时指定了 --spring.profiles.active=local(或者在 application.yml 中默认激活了 local)时才会生效。
目的:实现环境隔离。比如在开发环境(local)用这套规则,在生产环境(prod)可能用另一套规则。
2. spring.config.import
这是 Spring Boot 2.4+ 引入的新特性,用来导入其他配置文件或配置源。这里的导入顺序非常重要,后面的会覆盖前面的同名属性。
2.1 加载本地文件(classpath:config/...)
- classpath:config/application-local.yml
- classpath:config/application-mq-local.yml
- classpath:config/application-db-local.yml
含义:从类路径(即 resources 目录)下的 config 文件夹中,加载三个本地的 YML 文件。
作用:这是基础配置。程序启动时,首先会把本地 config 目录下的数据库、消息队列等配置加载进来。这确保了即使没有 Nacos,程序也能跑起来。
2.2 加载远程 Nacos 配置(optional:nacos:...)
- optional:nacos:application-local.yml?group=${spring.application.name}-adapter
- optional:nacos:application-mq-local.yml?group=${spring.application.name}-adapter
- optional:nacos:application-db-local.yml?group=${spring.application.name}-adapter
这部分是实现“动态获取配置”的关键。
optional:
含义:可选。如果 Nacos 服务连不上,或者对应的配置文件不存在,程序不会报错退出,而是会忽略这一步,继续使用前面加载的本地配置。
作用:保证开发环境的容错性。即使本地没开 Nacos 服务,代码也能正常启动。nacos::
含义:指定这是一个 Nacos 配置源。
-application-local.yml:
含义:这是 Nacos 中的 Data ID。
逻辑:它会去 Nacos 服务器查找名为application-local.yml的配置。?group=${spring.application.name}-adapter:
含义:指定 Nacos 的分组(Group)。${spring.application.name}:这是一个占位符,会被替换为你的服务名(例如 user-service)。
最终效果:它会去名为user-service-adapter的分组下查找配置。
更多推荐



所有评论(0)