Nacos配置中心命名空间与组的用法解读

 更新时间:2026年03月13日 09:28:02   作者:- Hola -  
文章介绍了如何将配置文件拆分并放在Nacos配置中心中,包括创建命名空间和组、配置数据源、MyBatis和Spring的配置,以及如何通过bootstrap.properties文件从Nacos中引入多个配置文件,测试发现项目能正常运行,并且切换环境只需修改组名

拆分配置文件

我们可以将我们的配置文件进行拆分放到nacos配置中心中

现在的配置文件大致如下:

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://xxx.xx.xxx.x:3306/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
    driver-class-name: com.mysql.cj.jdbc.Driver
  application:
    name: gulimall-coupon
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848
mybatis-plus:
  mapper-locations: classpath*:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto
server:
  port: 7000

仔细观察其实分为几类:Spring的配置、数据源的配置、mybatis的配置

在nacos配置中心新建命名空间和组

1.思路为:每个微服务有自己的命名空间

2.然后回到配置列表,新增配置

数据源配置

data id为要拆分的配置名,可随意(因为我这里是数据源相关的配置,故取名为datasource.yml)

统一用dev这个组

配置内容为我们抽取出来的关于数据源相关的配置

mybatis配置

spring的配置

在bootstrap.properties中配置

spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.namespace=47bea605-611d-489e-836d-db7ad35dcf46
spring.cloud.nacos.config.group=dev

spring.cloud.nacos.config.extension-configs[0].data-id=datasource.yml
spring.cloud.nacos.config.extension-configs[0].group=dev
spring.cloud.nacos.config.extension-configs[0].refresh=true

spring.cloud.nacos.config.extension-configs[1].data-id=mybatis.yml
spring.cloud.nacos.config.extension-configs[1].group=dev
spring.cloud.nacos.config.extension-configs[1].refresh=true

spring.cloud.nacos.config.extension-configs[2].data-id=other.yml
spring.cloud.nacos.config.extension-configs[2].group=dev
spring.cloud.nacos.config.extension-configs[2].refresh=true

1.其中spring.cloud.nacos.config.namespace为我们的命名空间ID

2.spring.cloud.nacos.config.group=dev,为选择的命名空间下的组

3.spring.cloud.nacos.config.extension-configs可接收一个数组,所有我们可以以数组的方式从nacos中引入多个配置

 public void setExtensionConfigs(List<NacosConfigProperties.Config> extensionConfigs) {
        this.extensionConfigs = extensionConfigs;
    }
配置解析
spring.cloud.nacos.config.extension-configs[0].data-id为我们之前在nacos中新建的拆分出来的配置文件的data id
spring.cloud.nacos.config.extension-configs[0].group命名空间下的组
spring.cloud.nacos.config.extension-configs[0].refresh实时刷新,默认为false

测试

我们将原来项目中appliction.yml中的所有配置项全部注释,发现项目能正常运行,且可以正常调用优惠券服务。

切换环境只需修改组名就好了,无需修改命名空间名。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java多线程实现聊天客户端和服务器

    Java多线程实现聊天客户端和服务器

    这篇文章主要为大家详细介绍了Java多线程聊天客户端和服务器实现代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • Java的MoreSuppliers工具类方法解析

    Java的MoreSuppliers工具类方法解析

    这篇文章主要介绍了Java的MoreSuppliers工具类方法解析,MoreSuppliers类是一个Java工具类,它提供了一些增强的Supplier函数,使得Supplier执行的结果可以被缓存,真正的调用只执行一次,需要的朋友可以参考下
    2024-01-01
  • Idea创建多模块maven聚合项目的实现

    Idea创建多模块maven聚合项目的实现

    这篇文章主要介绍了Idea创建多模块maven聚合项目的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 详解Java基础之封装

    详解Java基础之封装

    这篇文章主要为大家介绍了Java基础之封装,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Java自带消息队列Queue的使用教程详细讲解

    Java自带消息队列Queue的使用教程详细讲解

    这篇文章主要介绍了Java自带消息队列Queue的使用教程,Java中的queue类是队列数据结构管理类,在它里边的元素可以按照添加它们的相同顺序被移除,队列通常以FIFO的方式排序各个元素,感兴趣想要详细了解可以参考下文
    2023-05-05
  • SpringCloud 微服务框架详解

    SpringCloud 微服务框架详解

    本文详细介绍了单体架构、垂直架构、分布式架构和微服务架构的特点和优缺点,重点讲解了微服务架构的四个原则,最后介绍了如何使用Nacos进行配置中心管理,并实现了配置的热更新,感兴趣的朋友跟随小编一起看看吧
    2025-11-11
  • Java实现插入排序,希尔排序和归并排序

    Java实现插入排序,希尔排序和归并排序

    这篇文章主要为大家详细介绍了插入排序,希尔排序和归并排序的多种语言的实现(JavaScript、Python、Go语言、Java),感兴趣的小伙伴可以了解一下
    2022-12-12
  • 浅谈Java自定义类加载器及JVM自带的类加载器之间的交互关系

    浅谈Java自定义类加载器及JVM自带的类加载器之间的交互关系

    这篇文章主要介绍了浅谈Java自定义类加载器及JVM自带的类加载器之间的交互关系,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Spring Cloud Config Client超时及重试示例详解

    Spring Cloud Config Client超时及重试示例详解

    这篇文章主要给大家介绍了关于Spring Cloud Config Client超时及重试的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2018-05-05
  • Java多线程之多线程异常捕捉

    Java多线程之多线程异常捕捉

    在java多线程程序中,所有线程都不允许抛出未捕获的checked exception,也就是说各个线程需要自己把自己的checked exception处理掉,通过此篇文章给大家分享Java多线程之多线程异常捕捉,需要的朋友可以参考下
    2015-08-08

最新评论