当前位置: 首页 > news >正文

【Java】Spring Boot 2 集成 nacos

官方文档:https://nacos.io/zh-cn/docs/quick-start-spring-boot.html

pom

本次Springboot版本 2.2.6.RELEASE,nacos-config 版本 0.2.7,nacos-discovery版本 0.2.7
parent

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.6.RELEASE</version><relativePath/> <!-- lookup parent from repository -->
</parent>

dependencies

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

Nacos

Nacos版本 nacos-server-2.1.0,启动方式 ./startup.cmd -m standalone 单机方式.

实现配置的动态变更

注解方式

示例使用默认的空间

在这里插入图片描述

在这里插入图片描述

my.http_url=aaaaa
server.port=8092
.................
package cn.com.codingce.demo;import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@NacosPropertySource(dataId = "test", autoRefreshed = true)
@SpringBootApplication
public class CodingceDemoApplication {public static void main(String[] args) {SpringApplication.run(CodingceDemoApplication.class, args);}}

启动项目

2023-02-26 10:39:28.055  INFO 9544 --- [           main] c.a.b.n.c.u.NacosConfigPropertiesUtils   : nacosConfigProperties : NacosConfigProperties{serverAddr='127.0.0.1:8848', contextPath='null', encode='null', endpoint='null', namespace='null', accessKey='null', secretKey='null', ramRoleName='null', autoRefresh=false, dataId='null', dataIds='null', group='DEFAULT_GROUP', type=null, maxRetry='null', configLongPollTimeout='null', configRetryTime='null', enableRemoteSyncConfig=false, extConfig=[], bootstrap=Bootstrap{enable=false, logEnable=false}}

测试

package cn.com.codingce.demo.conrtoller;import cn.com.codingce.demo.utils.ResT;
import com.alibaba.nacos.api.config.annotation.NacosValue;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("test")
public class Test {/*** 通过NacosValue读取配置,* autoRefreshed 表示是否自动更新*/@NacosValue(value = "${my.http_url}", autoRefreshed = true)private String httpUrl;/*** 信息*/@RequestMapping(value = "/a", method = RequestMethod.GET)public ResT info() {return ResT.ok().put("nacos", httpUrl);}}

http://localhost:8092/test/a

在这里插入图片描述
在这里插入图片描述
测试可以实现动态的配置变更.

配置文件方式

采用自定义的命名空间进行测试,新建命名空间
在这里插入图片描述
在这里插入图片描述

新建test配置
在这里插入图片描述
这里我们已经创建完了,就截一张编辑图片.
在这里插入图片描述

配置文件 application.properties

# nacos
# nacos.config.bootstrap.enable 这个配置必须设置, 否则不会读取 properties 配置文件
nacos.config.bootstrap.enable=true
# bootstrap.log-enable
nacos.config.bootstrap.log-enable=true
# server-addr 本机启动, 远端写远端的ip:端口
nacos.config.server-addr=127.0.0.1:8848
# nacos.config.type=properties 这个配置必须设置, 未设置会报空指针, 支持的类型 properties xml json text html yaml
nacos.config.type=properties
# Data Id
nacos.config.dataId=test
# 命名空间ID
nacos.config.namespace=7746f477-222d-4c88-8244-3fae3ae5bdfa
# Group
nacos.config.group=dev
# 自动刷新
nacos.config.auto-refresh=true

nacos.config.bootstrap.enable=true nacos.config.type=properties 这两个配置有点坑了,也怪自己不仔细,大家用的时候注意是否缺少这两个配置~

2023-02-26 10:57:13.579  INFO 7856 --- [           main] c.a.b.n.c.u.NacosConfigPropertiesUtils   : nacosConfigProperties : NacosConfigProperties{serverAddr='127.0.0.1:8848', contextPath='null', encode='null', endpoint='null', namespace='7746f477-222d-4c88-8244-3fae3ae5bdfa', accessKey='null', secretKey='null', ramRoleName='null', autoRefresh=true, dataId='test', dataIds='null', group='dev', type=PROPERTIES, maxRetry='null', configLongPollTimeout='null', configRetryTime='null', enableRemoteSyncConfig=false, extConfig=[], bootstrap=Bootstrap{enable=true, logEnable=true}}

在这里插入图片描述
在这里插入图片描述

测试可以实现动态的配置变更.

实现服务的注册与发现

// todo

相关文章:

【Java】Spring Boot 2 集成 nacos

官方文档&#xff1a;https://nacos.io/zh-cn/docs/quick-start-spring-boot.html pom 本次Springboot版本 2.2.6.RELEASE&#xff0c;nacos-config 版本 0.2.7&#xff0c;nacos-discovery版本 0.2.7 parent <parent><groupId>org.springframework.boot</gr…...

JavaSE学习笔记day14

二、Set Set集合是Collection集合的子接口,该集合中不能有重复元素!! Set集合提供的方法签名,与父接口Collection的方法完全一致!! 即没有关于下标操作的方法 Set接口,它有两个常用的子实现类HashSet,TreeSet 三、HashSet HashSet实现了Set接口,底层是hash表(实际上底层是HashM…...

LLVM高级架构介绍

LLVM 为什么要开一个LLVM的新坑呢&#xff1f; 我从智能穿戴转行到芯片软件行业&#xff0c;从事编译器开发&#xff0c;不过是AI编译器。不过基本的传统编译器还是绕不过去啊&#xff0c;所以开始学习LLVM&#xff0c;后面开始学习TVM&#xff0c;MLIR。 LLVM GitHub地址 L…...

全网最经典函数题型【详解】——C语言

文章目录1. 写一个函数可以判断一个数是不是素数。2. 写一个函数判断一年是不是闰年。3. 写一个函数&#xff0c;实现一个整形有序数组的二分查找。4. 写一个函数&#xff0c;每调用一次这个函数&#xff0c;就会将 num 的值增加1。5. 写一个函数&#xff0c;打印乘法口诀表。6…...

emqx桥接配置+常见问题解决+jmeter压测emqx

一&#xff0c;桥接资源配置及规则配置 Emqx桥接配置流程 1&#xff0c;配置资源并测试连接通过 规则引擎——>资源——>新建——>选择MQTT Bridge——>填写参数测试连接 参数描述详见3.1资源配置 2&#xff0c;配置规则 2.1根据实际业务选择合适sql 规则引擎…...

improve-1

类型及检测方式 1. JS内置类型 JavaScript 的数据类型有下图所示 其中&#xff0c;前 7 种类型为基础类型&#xff0c;最后 1 种&#xff08;Object&#xff09;为引用类型&#xff0c;也是你需要重点关注的&#xff0c;因为它在日常工作中是使用得最频繁&#xff0c;也是需要…...

华为OD机试用Python实现 -【云短信平台优惠活动】(2023-Q1 新题)

华为OD机试题 华为OD机试300题大纲云短信平台优惠活动题目描述输入描述输出描述示例一输入输出说明示例二输入输出说明Python 代码实现代码编写思路华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看…...

Facebook广告投放运营中的关键成功因素是什么?

在当今数字化的时代&#xff0c;广告投放已经成为了各种企业获取市场份额和增加品牌曝光的重要手段之一。Facebook作为全球最大的社交媒体平台之一&#xff0c;其广告投放运营的成功&#xff0c;将直接影响企业的品牌推广和市场营销效果。本文将探讨Facebook广告投放运营中的关…...

2023年1月综合预订类APP用户洞察——旅游市场复苏明显,三年需求春节集中释放

2023年1月&#xff0c;随着国家对新型冠状病毒感染实施“乙类乙管”&#xff0c;不再对入境人员和货物等采取检疫传染病管理措施&#xff0c;并且取消入境后全员核酸检测和集中隔离&#xff0c;横亘在旅游者与旅游目的地之间的隔阂从此彻底消失。2023年1月恰逢春节假期&#xf…...

基于stm32计算器设计

这里写目录标题 完整de代码可q我获取1 系统功能设计2 系统硬件系统分析设计2.1 STM32单片机核心电路设计2.2 LCD1602液晶显示模块电路设计2.3 4X4矩阵键盘模块设计3 STM32单片机系统软件设计3.1 编程语言选择3.2 Keil程序开发环境3.3 FlyMcu程序烧录软件介绍3.4 CH340串口程序烧…...

基于SpringCloud的可靠消息最终一致性02:项目骨架代码(上)

在上一节中咱们已经把分布式事务问题交代了一遍,包括两大定理、五大解决方案和一个成熟的开源框架,而咱们最终的目标是用Spring Cloud实现一个实际创业项目的可靠消息最终一致性的分布式事务方案。 先交代一下项目背景。 前几年,社会上慢慢兴起一种称为C2C同城快递的业务,也…...

RockerMQ集群部署

目录一、Broker集群模式1、单Master&#xff1a;2、多Master多Slave模式异步复制3、多Master多Slave模式同步双写二、集群搭建实践1、集群架构2、克隆生成rocketmqos13、修改rocketmqos1配置文件4、克隆生成rocketmqOS25、修改rocketmqOS2配置文件6、启动服务器7、测试一、Brok…...

unicloud的aggregate聚合查询时间戳转日期

我特么不知道看了这个帖子几百遍才看明白到-----》unicloud数据库中&#xff0c;聚合操作如何操作时间戳&#xff1f; - DCloud问答 自己淋过雨老想着为别人撑伞&#xff0c;可怜我这35岁的老人家&#xff0c;给我去点关注&#xff01;&#xff01;&#xff01;&#xff01;&a…...

Vue2.0开发之——使用ref引用组件实例(41)

一 概述 在本组件内部修改count的值在父组件内修改子组件的count值 二 在本组件内部修改count的值 2.1 Left.vue 布局代码 <template><div class"left-container"><h3 >Left 组件---{{count}}</h3><button click"count 1"&…...

极狐GitLab仓库瘦身

参考文章&#xff1a; [分享] 极狐GitLab仓库瘦身 - 官方技术分享 - 极狐GitLab 论坛 一、瘦身概述 Git仓库随着时间推移会变得越来越大&#xff0c;比如很多比较大的文件加入Git仓库时&#xff0c;可能引起以下问题&#xff1a; 下载仓库越来越慢&#xff0c;因为每个人都…...

2288hv5超融合服务器 数码管报888

【问题现象】 2288hv5超融合服务器&#xff0c;前面板数码管报888&#xff0c;电源灯黄灯闪烁&#xff0c;开不了机&#xff0c;ibmc网络是通的&#xff0c;但是web网页打不开 【问题原因】 iBMC的版本过低&#xff0c;iBMC在智能诊断数据库保护机制存在异常&#xff0c;导…...

【Zabbix实战之部署篇】Zabbix监控windows系统配置方法

【Zabbix实战之部署篇】Zabbix监控windows系统配置方法 一、检查Zabbix监控平台状态1.检查Zabbix各组件状态2.检查Zabbix的首页二、下载windows代理1.访问Zabbix官网下载界面2.查看下载安装包三、安装windows agent2代理1.安装windows agent2代理2.代理基本配置信息3.开始进行安…...

在Windows上编译Nginx

《在Windows上编译Nginx》视频教程官方编译说明 Building nginx on the Win32 platform with Visual C 环境准备 1. Microsoft Visual Studio(Microsoft Visual C 编译器)&#xff0c;下载地址&#xff1a;https://visualstudio.microsoft.com/zh-hans/。 2. Git(备用)&…...

语音识别与Python编程实践

博主简介 博主是一名大二学生&#xff0c;主攻人工智能研究。感谢让我们在CSDN相遇&#xff0c;博主致力于在这里分享关于人工智能&#xff0c;c&#xff0c;Python&#xff0c;爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主&#xff0c;博主会继续更新的&#xff0c…...

MATLAB绘制泰勒图(Taylor diagram)

泰勒图&#xff08;Taylor diagram&#xff09; 泰勒图是Karl E. Taylor于2001年首先提出&#xff0c;主要用来比较几个气象模式模拟的能力&#xff0c;因此该表示方法在气象领域使用最多&#xff0c;但是在其他自然科学领域也有一定的应用。 泰勒图常用于评价模型的精度&…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器&#xff0c;docker&#xff0c;镜像&#xff0c;k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...