Nacos配置中心使用(Spring Cloud版)

news2024/12/27 21:40:12

目标

向项目中集成Nacos配置。原项目是一个SpringBoot项目。这里假设我们无法修改原有项目的SpringBoot版本。

注意

在不动SpringBoot版本的前提下,根据SpringBoot的版本,确定Spring Cloud和Nacos版本。Nacos版本其实就是Spring Cloud Alibaba版本。在Nacos的文档里面有一个表格,确定应该使用的Nacos具体版本。
Spring Cloud Alibaba版本
例如:我这里使用的是SpringBoot2.6.3,这应该使用Spring Cloud Alibaba2021.0.1.0版本。如果你使用的SpringBoot版本没有在Nacos官方文档里面出现,那就选一个与你使用的SpringBoot版本接近的Nacos版本吧。

步骤

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.6.3</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>
	<groupId>cn.com.xxx</groupId>
	<artifactId>xxxx</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>xxx</name>
	<description>xxxx project for Spring Boot</description>
	<properties>
		<java.version>1.8</java.version>
		<spring-cloud.version>2021.0.1</spring-cloud.version>
		<spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<!--配置中心 nacos-->
		<dependency>
			<groupId>com.alibaba.cloud</groupId>
			<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
			<version>${spring-cloud-alibaba.version}</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba.cloud</groupId>
			<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
			<version>${spring-cloud-alibaba.version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-bootstrap</artifactId>
		</dependency>
	</dependencies>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>
</project>

bootstrap.yml

spring:
  application:
    name: myapp
  #nacos组件
  cloud:
    nacos:
      discovery:
        # 服务注册地址
        server-addr: ${NACOS_URL:https://xxx.xxxx.com.cn}
        namespace: ${NACOS_NAME_SPACE:123412437-2343-423d-sdads3-zw3r3}
        username: ${NACOS_NAME:xxx}
        password: ${NACOS_PASS:xxx}
        group: ${SPRING_PROFILES_ACTIVE:dev}
      config:
        # 配置中心地址
        server-addr: ${NACOS_URL:https://xxxx.xxxx.com.cn}
        namespace: ${NACOS_NAME_SPACE:123412437-2343-423d-sdads3-zw3r3}
        file-extension: yaml
        username: ${NACOS_NAME:sss}
        password: ${NACOS_PASS:xxxx}
        group: ${SPRING_PROFILES_ACTIVE:dev}
server:
  port: 8080

HelloController.java

@RefreshScope
@RestController
@RequestMapping("/hello")
public class HelloController {

    @Value("${useLocalCache:false}")
    private boolean useLocalCache;

    @RequestMapping("/nacos/get")
    public boolean get() {
        return useLocalCache;
    }
}

Nacos配置

nacos配置

myapp-dey.yml

useLocalCache:true

具体配置

测试

测试结果
现在结果为true,于预期结果一直,Spring读到了Nacos里面的配置数据。
接下来,将nacos里面的结果修改成false:
修改成false
再用Postman调用一下,查看Spring读到的配置数据:
测试结果
Spring读到了Nacos里面的配置。到此,Nacos集中配置就能够正常使用了。

总结

这里是先确定使用的SpringBoot版本,然后,进一步确定Spring Cloud和Spring Cloud Alibaba的版本。然后,就可以使用Nacos了,最好再考虑一下使用的Nacos服务端版本。

参考

  • Nacos Spring Cloud 快速开始
  • 版本说明

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】网络结构模式

目录 网络结构模式C/S结构B/S结构 MAC地址IP地址端口网络模型OSI七层模型TCP/IP四层模型 通信过程数据包封装协议以太网协议ARP协议IP数据报格式UDP协议格式TCP协议格式封装分用TCP详解TCP和UDPTCP通信流程TCP三次握手 网络结构模式 C/S结构 客户机-服务器(client-server)结构…

uboot读取adc,通过cmdline传给kernel解析数值,不同硬件模块进行处理

uboot读取adc&#xff0c;通过cmdline传给kernel解析数值&#xff0c;不同硬件模块进行处理 uboot开发&#xff0c;要想读取adc在哪个时间点读取以及如何传给cmdline&#xff0c;需要清楚2点&#xff0c; uboot启动得大致流程及相关启动功能&#xff0c;uboot各个硬件模块得接…

主机安全各个方面应该怎么做?

主机安全是指保护主机系统不受恶意攻击和未经授权访问的威胁&#xff0c;以保证系统的稳定性、可用性和数据的安全性。 以下是主机安全涉及的几个方面做法&#xff1a; 1. 操作系统安全&#xff1a;安装操作系统时需要选择合适的版本&#xff0c;及时打补丁更新&#xff0c;配置…

入职Linux驱动工程师后,我才知道的真相…

大家好&#xff0c;我是ST。 做Linux驱动工程师也有一段时间了&#xff0c;今天分享一下我曾经入职才知道的一些事情&#xff0c;算是一个菜鸟的经历吧&#xff01; 设备树 起初学习Linux驱动&#xff0c;是从最简单的一个.c文件开始。 在.c中实现module_init和module_exit这…

大模型入门(三)—— 大模型的训练方法

参考hugging face的文档介绍&#xff1a;https://huggingface.co/docs/transformers/perf_train_gpu_many#naive-model-parallelism-vertical-and-pipeline-parallelism&#xff0c;以下介绍聚焦在pytorch的实现上。 随着现在的模型越来越大&#xff0c;训练数据越来越多时&…

基于Ubuntu22.10系统安装部署webmin软件

Webmin是一个用于Linux系统管理的开源的基于web的系统管理配置工具。有了这个工具的帮助&#xff0c;我们可以管理内部的系统配置&#xff0c;诸如设置用户账户&#xff0c;磁盘配额&#xff0c;像Apache, DNS, PHP, MySQL&#xff0c;文件共享的服务等。 本文描述在ubuntu22.…

VS+C#+WPF多线程视频摄像头播放器监控

程序示例精选 C#WPF多线程视频摄像头播放器监控 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<C#WPF多线程视频摄像头播放器监控>>编写代码&#xff0c;代码整洁&#xff0c;规…

el-table点击单元格变成输入框,以及其自动获取焦点失效可能的原因(focus失效)

1.el-table点击单元格变成输入框 这里主要使用了el-table三个自带的方法/属性&#xff1a; <el-table:data"MesTableData"bordercell-click"clickCell":row-class-name"tableRowClassName":cell-class-name"tableCellClassName" …

解决elementUI弹出框关闭后再打开el-select下拉框无法选中的问题

文章目录 一、问题描述&#xff1a;二、问题解决 一、问题描述&#xff1a; 使用的前端UI框架为elementUI。 el-select组件在一个弹框中&#xff0c;打开该弹框&#xff0c;el-select可以正常选中&#xff0c;但是保存弹框中的表单信息关闭弹框后&#xff0c;再打开弹框&…

RT-DETR论文解读与代码

1.概述 目前以大名鼎鼎的YOLO为代表的基于CNN的实时监测网络需要NMS进行后处理&#xff0c;导致不能很好的优化网络&#xff0c;并且网络不够健壮&#xff0c;从而导致检测器的推理速度出现延迟。研究者也分析了Anchor-based和Anchor-free的YOLO的性能&#xff0c;发现Anchor并…

【Java基础篇】方法的使用(方法的重载和递归)

作者简介&#xff1a; 辭七七&#xff0c;目前大一&#xff0c;正在学习C/C&#xff0c;Java&#xff0c;Python等 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a;Java.SE&#xff0c;本专栏主要讲解运算符&#xff0c;程序逻辑控制&#xff0c;方法的使用&…

打造智能生活方式

2个互联网工具与你分享 分享一&#xff1a; 随记单词是一款功能强大的单词记忆和管理应用程序。它为用户提供了便捷的学习工具和智能化的记忆方式&#xff0c;帮助用户轻松有效地记忆和掌握单词。 随记单词的特点之一是个性化记忆计划。用户可以根据自己的学习进度和需求&am…

如何使用MATLAB处理涡度通量数据

MATLAB MATLAB是美国MathWorks公司出品的商业数学软件&#xff0c;用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人&#xff0c;控制系统等领域。 MATLAB是matrix&laboratory两个词的组合&#xff0c;意为矩阵工厂&#x…

苹果头显Vision Pro深度解读3 苹果头显visonOS开发指南

1 程序员visonOS开发指南 作为iOS开发者&#xff0c;切换到visionOS开发非常简单啊&#xff0c;过去的一些技术基本上都用得上。目前根据苹果WWDC官方的文档&#xff0c;视频&#xff0c;我们可以知道: 开发语言&#xff0c;使用的是swift object-c c c等&#xff0c;swif…

简化日志数据管理:利用 Elastic 灵活路由的力量

作者&#xff1a;Felix Barnsteiner&#xff0c;Nicolas Ruflin 在 Elasticsearch 8.8 中&#xff0c;我们在技术预览中引入了重新路由处理器&#xff08;reroute processor&#xff09;&#xff0c;它可以根据灵活的路由规则将文档&#xff08;例如日志&#xff09;发送到不同…

Jmeter吞吐量控制器使用小结

吞吐量控制器(Throughput Controller)场景: 在同一个线程组里, 有10个并发, 7个做A业务, 3个做B业务,要模拟这种场景,可以通过吞吐量模拟器来实现.。 添加吞吐量控制器 如果你想学习jmeter性能测试&#xff0c;我这边给你推荐一套视频&#xff0c;这个视频可以说是B站播放全网…

第十六届全国大学生信息安全竞赛CISCN---Cypto

1.Sign_in_passwd 打开环境&#xff0c;下载附件&#xff0c;用记事本打开flag的文件 发现里面是像base密码但又不像base密码的一串&#xff0c;第二行的%&#xff0c;就很像url密码啊&#xff0c;之前做题没接触过啊&#xff0c;还是做题做少了 没有啥解题思路&#xff0c;看…

基于Jeecg-boot的flowable流程支持拒绝同意流程操作

更多功能看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbacheng/nbcio-boot 前端代码&#xff1a;https://gitee.com/nbacheng/nbcio-vue.git 在线演示&#xff08;包括H5&#xff09; &#xff1a; http://122.227.135.243:9888 因为看很多朋友需要…

利用Transformer BEV解决自动驾驶Corner Case的技术原理

摘要&#xff1a; 本文总结了Transformer和BEV技术在自动驾驶中的原理和应用&#xff0c;特别是如何解决Corner Case问题。 自动驾驶系统在实际应用中需要面对各种复杂的场景&#xff0c;尤其是Corner Case&#xff08;极端情况&#xff09;对自动驾驶的感知和决策能力提出了更…

访问者模式(十八)

相信自己&#xff0c;请一定要相信自己 上一章简单介绍了命令模式(十七), 如果没有看过, 请观看上一章 一. 访问者模式 引用 菜鸟教程里面访问者模式介绍: https://www.runoob.com/design-pattern/visitor-pattern.html 在访问者模式&#xff08;Visitor Pattern&#xff09…