spring boot接入nacos 配置中心

再接入nacos配置中心时,需要确认几点:

1. spring boot 版本 (spring boot 2.x )

2. nacos 配置中心 服务端 版本 (1.1.4)

3. nacos client 客户端版本 (1.1.4)

方式一

1. 启动 nacos 服务端,这里不做解释

在配置中心中加入几个配置

2. 在自己的应用里引入 依赖包

<dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-config-spring-boot-starter</artifactId>
            <version>0.2.8</version>
        </dependency>

注意, nacos-config-spring-boot-starter 的版本内 引入了 nacos-client,需要注意引入的版本 是否与nacos服务端匹配。如果不匹配,可能会有问题。

这里使用的 nacos 服务端 是 1.x版本,所有引入的包也是1.x的才可以。

3. 配置 nacos 服务端地址

nacos.config.server-addr= localhost:8848 

4.  在spring boot 启动类 加入 注解

如果是 只有一个 dataId,使用 @NacosPropertySource

如果有 多个 dataId,使用 @NacosPropertySources

@SpringBootApplication
@NacosPropertySources({
        @NacosPropertySource(dataId = "springboot-nacos-hello", autoRefreshed = true,type = ConfigType.PROPERTIES),
        @NacosPropertySource(dataId = "useLocalCache", autoRefreshed = true,type = ConfigType.PROPERTIES)
})
public class NacostestApplication {

    public static void main(String[] args) {
        SpringApplication.run(NacostestApplication.class, args);
    }

}

5. 读取 配置

使用 注解 @NacosValue

    @NacosValue(value = "${hi}", autoRefreshed = true)
    private String useLocalCache;

方式二:

引入依赖

        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
            <version>1.1.4</version>
        </dependency>

直接调用api

@Component
public class ConfigS {
    @Bean
    public ConfigService configService() {
        try {
            Properties properties = new Properties();
            properties.setProperty("serverAddr", "localhost:8848");
            ConfigService configService = NacosFactory.createConfigService(properties);
            configService.addListener("springboot-nacos-hello", "DEFAULT_GROUP", new Listener() {
                @Override
                public Executor getExecutor() {
                    return null;
                }

                @Override
                public void receiveConfigInfo(String configInfo) {
                    // 配置更新处理逻辑
                    System.out.printf(configInfo);

                }
            });
            return configService;
        } catch (Exception e) {
            return null;
        }
    }
}
configService.getConfig("springboot-nacos-hello","DEFAULT_GROUP",10000)

这种方式 只是简单的拉去配置中心的内容,需要自己解析 配置内容和监听更新

方案三

引入依赖包

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.1.1.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>com.alibaba.nacos</groupId>
                    <artifactId>nacos-client</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
            <version>1.1.4</version>
        </dependency>

 在 bootstrap.properties 文件中配置属性:

#服务地址
spring.cloud.nacos.config.server-addr= localhost:8848


#共享配置
spring.cloud.nacos.config.shared-dataids=a.properties,b.properties
spring.cloud.nacos.config.refreshable-dataids=a.properties

#扩展配置
spring.cloud.nacos.config.ext-config.0.data-id=useLocalCache.properties
spring.cloud.nacos.config.ext-config.0.refresh=true
spring.cloud.nacos.config.ext-config.1.data-id=useLocalCache2.properties

#当前应用
spring.cloud.nacos.config.prefix=app
spring.cloud.nacos.config.file-extension= properties

读取配置: 使用@Value 注解

@Value(value = "${hi}")
private String useLocalCache;

 

nacos配置中心添加配置

 

共有三种配置:

1. 加载共享配置

sharedDataids 注意: 需要有后缀

refreshableDataids

分隔符 "[,]"

2. 加载扩展配置

extConfig 数组结构

dataId 必须有后缀

3. 加载应用级别的配置

读取 prefix /name/spring.application.name 属性

作为dataId

1. 直接加载 dataId

2. 加载 dataId.fileExtension

3. 加载 dataId - profile . fileExtension

覆盖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/727212.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DNS部署与安全

一、DNS 英文全称&#xff1a;Domain Name Service 含义&#xff1a;域名服务 作用&#xff1a;为客户机提供域名解析服务 二、域名组成 域名组成概述 &#xff08;1&#xff09;如"www.sina.com.cn”是一个域名&#xff0c;从严格意义上讲&#xff0c;“sina.com.cn”…

深度解读爆火国产大模型Kimi(附教程,建议收藏!)_学习kimi

如果要问目前最强的大模型是谁&#xff0c;答案毫无疑问还是GPT4。但如果要问最近最火的大模型是谁&#xff0c;国产Kimi表示舍我其谁。 这个由一家初创还不到1年的AI企业做出来的现象级大模型智能助手&#xff0c;体验过的用户都表示惊艳到了&#xff0c;投过的一级机构继续加…

DS1339C串行实时时钟-国产兼容RS4C1339

RS4C1339串行实时时钟是一种低功耗的时钟/日期设备&#xff0c;具有两个可编程的一天时间报警器和一个可编程方波输出。地址和数据通过2线双向总线串行传输。时钟/日期提供秒、分钟、小时、天、日期、月份和年份信息。对于少于31天的月份&#xff0c;月末的日期会自动调整&…

2024年全球架构师峰会(ArchSummit深圳站)

前言 ArchSummit全球架构师峰会是极客邦科技旗下InfoQ中国团队推出的重点面向高端技术管理者、架构师的技术会议&#xff0c;54%参会者拥有8年以上工作经验。 ArchSummit聚焦业界强大的技术成果&#xff0c;秉承“实践第一、案例为主”的原则&#xff0c;展示先进技术在行业中的…

Java面试八股之JVM永久代会发生垃圾回收吗

JVM永久代会发生垃圾回收吗 JVM的永久代&#xff08;PermGen&#xff09;在Java 8之前是存在的一部分&#xff0c;主要用于存储类的元数据、常量池、静态变量等。在这些版本中&#xff0c;永久代确实会发生垃圾回收&#xff0c;尤其是在永久代空间不足或超过某个阈值时&#x…

【C语言】手写学生管理系统丨附源码+教程

最近感觉大家好多在忙C语言课设~ 我来贡献一下&#xff0c;如果对你有帮助的话谢谢大家的点赞收藏喔&#xff01; 1. 项目分析 小白的神级项目&#xff0c;99%的程序员&#xff0c;都做过这个项目&#xff01; 掌握这个项目&#xff0c;就基本掌握 C 语言了&#xff01; 跳…

JUC并发编程-第二天:线程高级部分

线程高级部分 线程不安全原子性可见性有序性&#xff08;指令重排&#xff09; 线程不安全 多线程下并发同时对共享数据进行读写&#xff0c;会造成数据混乱线程不安全 当多线程下并发访问临界资源时&#xff0c;如果破坏其原子性、可见性、有序性&#xff0c;可能会造成数据不…

最小生成树prim算法详解

prim算法解决的是最小生成树问题&#xff0c;即在一个给定的无向图G中求一棵生成树T&#xff0c;使得这棵树拥有图G中的所有顶点&#xff0c;且所有边都是来自图G中的边&#xff0c;并且满足整棵树的边权之和最小。 prim算法的基本思想是对图G设置集合S来存放已被访问的顶点&a…

实验2:RIPv2的配置

由于RIPv1是有类别的路由协议,路由更新不携带子网信息,不支持不连续子网、VLSM、手工汇总和验证等&#xff0c;本书重点讨论RIPv2。 1、实验目的 通过本实验可以掌握&#xff1a; RIPv1和 RIPv2的区别。在路由器上启动RIPv2路由进程。激活参与RIPv2路由协议的接口。auto-sum…

STM32学习笔记(五)--TIM输出比较PWM详解

&#xff08;1&#xff09;配置步骤1.配置RCC外设时钟 开启GPIO以及TIM外设2.配置时基单元的时钟 包含时钟源选择配置初始化时基单元3.配置输出比较单元 包含CCR的值 输出比较模式 极性选择 输出使能等4.配置GPIO口 初始化为复用式推挽输出的配置5.运行控制 启动计数器 输出PWM…

C++多重继承,虚基类与友元

一.多重继承 就是一个类继承多个基类&#xff1b; class <派生类名>&#xff1a;<派生方式1><基类名1>,<派生方式n><基类名n> class Derived:public:Base1,public:Base2 上述形式&#xff1a;基类之间由逗号隔开&#xff0c;且必须指明继承方式…

HNU-计算机系统(CSAPP)实验四 BufLab

【实验目的】 1.通过本次实验熟悉IA-32调用约定和堆栈组织&#xff1b; 2.学习缓冲区溢出攻击原理&#xff0c;对实验室目录中的一个可执行文件应用一系列的缓冲区溢出攻击&#xff1b; 3.通过实验获得使用通常用于利用操作系统和网络服务器中的安全弱点的常用方法之一的第一…

企业如何做好供应链管理工作?8个步骤及应用详解!

供应链就是采购把东西买进来&#xff0c;生产去加工增值&#xff0c;物流去配送给客户&#xff0c;环环相扣&#xff0c;就形成了供应链。它是将供应商&#xff0c;制造商&#xff0c;分销商直到最终用户连成一个整体的功能网链结构。 而供应链管理就是做好每个环节的管理&…

4. Revit API UI: Ribbon(界面)

4. Revit API UI: Ribbon&#xff08;界面&#xff09; 第二篇中&#xff0c;我们提到了IExternalApplication&#xff0c;该接口需要实现两个方法&#xff1a;Revit启动时调用的OnStartup 方法&#xff0c;和Revit关闭时调研的OnShutdown 方法。文中还给了个例子&#xff0c;…

RTSP/Onvif安防监控平台EasyNVR抓包命令tcpdump使用不了的解决方法

安防视频监控汇聚EasyNVR智能安防视频监控平台&#xff0c;是基于RTSP/Onvif协议的安防视频平台&#xff0c;可支持将接入的视频流进行全平台、全终端分发&#xff0c;分发的视频流包括RTSP、RTMP、HTTP-FLV、WS-FLV、HLS、WebRTC等格式。平台可提供的视频能力包括&#xff1a;…

MySQL:表的增删查改

文章目录 1.Create(创建)2.Retrieve(读取、查询)2.1 SELECT 列2.2 WHERE 子句2.3 结果排序(order by)2.4 筛选分页结果(limit、offset)2.5 Update更新2.6 Delete删除2.7 去重 3.聚合函数3.1 聚合函数的基本使用3.2group by子句的使用(分组查询) 增删查改&#xff1a;: Create(创…

数据可视化如何革新智慧物流管理?

数据可视化在智慧物流中发挥了至关重要的作用&#xff0c;成为优化物流管理、提升效率和改善客户体验的关键工具。在现代物流行业中&#xff0c;面对海量数据的挑战&#xff0c;数据可视化技术通过将复杂数据转化为直观的图表、图形和仪表盘&#xff0c;帮助企业和管理者更有效…

国内出版社数字化资源的现状与挑战:一场未充分利用的数字转型

**概述&#xff1a;**在当前数字化高速发展的时代背景下&#xff0c;国内教育出版社在数字化资源的开发与应用上面临着诸多挑战和不足。本文将针对读者提出的问题和反馈&#xff0c;探讨国内教育出版社数字化资源存在的问题&#xff0c;并分析可能的原因和改进方向。 **正文&a…

ReF:斯坦福提出的新型语言模型微调方法

随着预训练语言模型&#xff08;LMs&#xff09;在各种自然语言处理&#xff08;NLP&#xff09;任务中的广泛应用&#xff0c;模型微调成为了一个重要的研究方向。传统的全参数微调方法虽然有效&#xff0c;但计算成本高昂&#xff0c;尤其是在大型模型上。为了解决这一问题&a…

ONLYOFFICE 文档 8.1 现已发布:功能全面的 PDF 编辑器、幻灯片版式等等

最新版本的 ONLYOFFICE 在线编辑器已经发布&#xff0c;整个套件带来了30多个新功能和432个 bug 修复。阅读本文了解全部更新。 什么是 ONLYOFFICE 文档 ONLYOFFICE 文档是一套功能强大的文档编辑器&#xff0c;支持编辑处理文本文档、电子表格、演示文稿、可填写的表单、PDF&…