1、环境搭建

1.1 依赖

<!--  nacos注册中心 注解 @EnableDiscoveryClient    -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency> <!-- nacos配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

1.2 bootstrap.properties 配置

# 端口
server.port=9607
# 服务名
spring.application.name=kgcmall96-nacos-config
# nacos 配置中心 的地址
spring.cloud.nacos.server-addr=127.0.0.1:8848
# 指定nacos配置中心支持的配置文件后缀,注意:nacso上增加的配置文件后缀要跟此处一致,默认值properties
spring.cloud.nacos.config.file-extension=yml

1.3 请求

/**
* Created On : 28/11/2022.
* <p>
* Author : huayu
* <p>
* Description: nacos配置中心测试入口
*/
@RestController
public class KgcMallNacosConfigController { //单个读取远程配置中心的公共配置参数
@Value("${kh96.nacos.config:kh96-default}")
private String kh96NacosConfig; /**
* @param : []
* @return : java.lang.String
* @author : huayu
* @date : 28/11/2022
* @description : 读取远程nacos配置中心添加的统一自定义配置,返回
*/
@GetMapping("/testNacosConfig")
public String testNacosConfig() {
return kh96NacosConfig;
} }

1.4 添加远程配置文件

1.4.1 添加

1.4.2 配置信息

1.4.3 添加成功

1.5 测试

1.6 修改配置信息

1.7 再次 测试

1.8 重启项目测试

2、配置信息实时刷新

每次修改配置文件都需要重启项目,十分麻烦,需要设置实时刷新;

2.1 添加注解

@RestController
@RefreshScope //nacos配置动态刷新注解
public class KgcMallNacosConfigController {
......
}

2.2 测试

3、批量读取配置信息

3.1 配置类

/**
* Created On : 28/11/2022.
* <p>
* Author : huayu
* <p>
* Description: KgcMallNacosConfig
*/
@Configuration
@RefreshScope
@ConfigurationProperties(prefix = "kh96.nacos")
@Data
public class KgcMallNacosConfig { /*
测试 批量读取 配置信息
*/
private String config; }

3.2 请求

/**
* Created On : 28/11/2022.
* <p>
* Author : huayu
* <p>
* Description: nacos配置中心测试入口
*/
@RestController
public class KgcMallNacosConfigController { @Autowired
private KgcMallNacosConfig kgcMallNacosConfig; /**
* @param : []
* @return : java.lang.String
* @author : huayu
* @date : 28/11/2022
* @description : 读取远程nacos配置中心添加的统一自定义配置,返回
*/
@GetMapping("/testNacosConfig")
public String testNacosConfig() {
//测试 批量读取
return kgcMallNacosConfig.getConfig();
} }

3.3 测试

4、读取配置文件的组成

prefix-active-extension

prefix:前缀,默认为服务名

active:激活环境

extension:文件后缀(propertion或者yml),需要跟配置中心一致

${spring.cloud.nacos.config.prefix}.${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}

4.1 active指定配置环境

# 指定nacos配置中心支持的配置文件后缀,注意:nacso上增加的配置文件后缀要跟此处一致,默认值properties
spring.cloud.nacos.config.file-extension=yml
# 指定环境
# 配置文件前缀(默认以 服务名为前缀)
spring.cloud.nacos.config.prefix=config
## 指定激活环境
spring.profiles.active=test # 最终拼接出来的就是 config-test-yml

4.2 添加配置文件

4.3 测试

5、命名空间 和 分组

5.1 添加命名空间

5.2 指定命名空间个分组

# 指定nacso配置中心的名称空间,配置的是对应名称空间的id值,不是名称
# 官方建议:namespace名称空间,作为环境区分,不同环境,使用不同的名称空间
spring.cloud.nacos.config.namespace=0e35ec99-dfac-45eb-84bb-e9d8a35f726e
# 指定名称空间下的分组,一般都是用于区分相同环境加的不同应用项目组,如果不配合配置,默认使用的是当前名称空间下的默认分组DEFAULT_GROUP,也支持自定义分组
spring.cloud.nacos.config.group=KH96_GROUP

5.2.1 添加配置

6、配置文件级别

6.1 配置文件级别

主配置 > 扩展配置 > 共享配置

相同类型配置下,下标越大优先级越高;

6.2 共享配置

6.2.1 配置信息

# nacos 的共享配置,此配置项是一个数组,数组的下标越大,优先级越高,同等的共享配置,高优先级自动覆盖低优先级
# 提醒:nacos所有的配置中,主配置存在的情况下,具有最高优先级,同等配置不会被共分享配置覆盖(所以先删除主配置)
spring.cloud.nacos.config.shared-configs[0].data-id=kgcmall96-shared-config.yml
spring.cloud.nacos.config.shared-configs[0].group=KH96_GROUP
spring.cloud.nacos.config.shared-configs[0].refresh=true

6.2.2 添加配置文件

6.2.3 测试

需要先删除主配置,因为它优先级最高;

6.2.4 在配置一个共享配置,下标1

# 下标1覆盖下标0的配置
spring.cloud.nacos.config.shared-configs[1].data-id=kgcmall96-priority-config.yml
spring.cloud.nacos.config.shared-configs[1].group=KH96_GROUP
spring.cloud.nacos.config.shared-configs[1].refresh=true

6.2.5 添加配置文件

6.2.6 测试

6.3 扩展配置

6.3.1 配置信息

## nacos扩展配置,此配置项是一个数组,数组的下标越大,优先级越高,同等的共享配置,高优先级自动覆盖低优先级
## 扩展配置的优先级低于主配置,高于共享配置,如果某种场景下需要单独覆盖共享配置,就可以使用扩展配置,比如某个oracle,其他都意思mysql
spring.cloud.nacos.config.extension-configs[0].data-id=kgcmall96-extend-config.yml
spring.cloud.nacos.config.extension-configs[0].group=KH96_GROUP
spring.cloud.nacos.config.extension-configs[0].refresh=true

6.3.2 添加配置文件

6.3.3 测试

SpringCloud Alibaba(四) - Nacos 配置中心的更多相关文章

  1. Spring Cloud Alibaba(5)---Nacos(配置中心)

    Nacos(配置中心) 有关Spring Cloud Alibaba之前写过四篇文章,这篇也是在上面项目的基础上进行开发. Spring Cloud Alibaba(1)---入门篇 Spring C ...

  2. 快速搭建 SpringCloud Alibaba Nacos 配置中心!

    Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务开发解决方案,目前已被 Spring Cloud 官方收录.而 Nacos 作为 Spring Cloud Alibaba 的核心 ...

  3. Spring Cloud 系列之 Alibaba Nacos 配置中心

    Nacos 介绍 Nacos 是 Alibaba 公司推出的开源工具,用于实现分布式系统的服务发现与配置管理.英文全称 Dynamic Naming and Configuration Service ...

  4. 微服务从nacos配置中心获得配置信息

    一,安装nacos, 略 二,创建父工程和微服务工程 service1, service2,以idea为例 1, new -> project -> Maven -> 填写group ...

  5. Nacos配置中心使用

    在系统开发过程中,开发者通常会将一些需要变更的参数.变量等从代码中分离出来独立管理,以独立的配置文件的形式存在.目的是让静态的系统工件或者交付物(如 WAR,JAR 包等)更好地和实际的物理运行环境进 ...

  6. Nacos配置中心和服务的注册发现

    在上一篇中,我们已经把Nacos的集群搭建好了,那么既然已经搭建好了,就要在咱们的项目中去使用.Nacos既可以做配置中心,也可以做注册中心.我们先来看看在项目中如何使用Nacos做配置中心. Nac ...

  7. SpringBoot使用Nacos配置中心

    本文介绍SpringBoot如何使用阿里巴巴Nacos做配置中心. 1.Nacos简介 Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计.它可以帮助您轻松构建云 ...

  8. Nacos配置中心

    本文介绍spring cloud 集成 nacos案例 官方文档:https://nacos.io/zh-cn/docs/what-is-nacos.html](https://nacos.io/zh ...

  9. SpringCloud系列之分布式配置中心极速入门与实践

    SpringCloud系列之分布式配置中心极速入门与实践 @ 目录 1.分布式配置中心简介 2.什么是SpringCloud Config? 3.例子实验环境准备 4.Config Server代码实 ...

  10. Spring Cloud Config、Apollo、Nacos配置中心选型及对比

    Spring Cloud Config.Apollo.Nacos配置中心选型及对比 1.Nacos 1.1 Nacos主要提供以下四大功能 2.Spring Cloud Config 3.Apollo ...

随机推荐

  1. Oracle HR样例数据库建立

    在视频的学习过程中,老师用到了HR样例数据库,但是我发现我的样例数据库中没有HR样例数据库,可能是在安装的时候漏掉了哪个环节,所以只能补救一下 如何判断自己是否有HR样例数据库呢?操作代码如下所示 第 ...

  2. OpenCompass使用LawBench数据测评本地Qwen大模型

    一.思维导图展示 二.OpenCompass简介 OpenCompass是一个大模型测评体系,开源.高效.同时集成CompassKit测评工具.CompassHub测评集社区,CompassRank测 ...

  3. 基本数据结构-双端队列(Deque)

    6.基本数据结构-双端队列(Deque) 一.双端队列(Deque) - 概念:deque(也称为双端队列)是与队列类似的项的有序集合.它有两个端部,首部和尾部,并且项在集合中保持不变. - 特性:d ...

  4. 玩转AI工作流:一步步搭建灵活的自动化流程

    我们之前搭建了许多不同类型的智能体,其中最受欢迎的就是在智能体中搭建各种工作流--这也是我最喜欢探索和玩的领域.那么,究竟什么是工作流?如何在后端实现一个工作流呢?今天我们就先简单了解下. 什么是工作 ...

  5. 动态配置生成echarts图表

    动态配置x轴和y轴的数据,并且可以选择柱状图.折线图.饼状图等图形 父组件代码: <template> <div class="reportPicture"> ...

  6. Xdebug+Phpstorm本地调试

    很久不用php进行开发, debug插件的安装与配置都忘完了, 看了下自己之前记录的一篇文章, 有点太乱了, 这里简约介绍下,方便后面快捷使用 XDebug下载地址: https://xdebug.o ...

  7. 正也科技S2P 数字化推动医药信息传播多元化

    在当今数字化迅猛发展的时代浪潮中,医药信息传播正经历着深刻而广泛的变革.这种变革犹如一场波澜壮阔的革命,席卷了医药领域的每一个角落,对医药行业的发展产生了深远且不可忽视的影响. 一.传播渠道的多元化拓 ...

  8. TesseractOCR-GUI:基于WPF/C#构建TesseractOCR简单易用的用户界面

    前言 前篇文章使用Tesseract进行图片文字识别介绍了如何安装TesseractOCR与TesseractOCR的命令行使用.但在日常使用过程中,命令行使用还是不太方便的,因此今天介绍一下如何使用 ...

  9. android emulator 设置代理

    android emulator 设置代理 由于开发的 app 需要访问 google 服务,那么跑虚拟机的时候就需要设置网络代理,试了几种方法都没成功,记录一下 因为已知我开发电脑的代理地址和端口, ...

  10. 构建模块化 CLI:Lerna + Commander 打造灵活的基础脚手架

    在现代软件开发中,创建 定制化的命令行工具(CLI) 已成为满足公司业务需求的关键一环.这类工具可以辅助执行诸如代码检查.项目初始化等任务.为了提高开发效率并简化维护过程,我们将功能模块化,并通过多个 ...