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

springboot集成nacos并实现自动刷新

目录

1.说明

2.示例

3.自动刷新的注意点


1.说明

springboot项目中存在好多配置文件,比如配置数据信息,redis信息等等,配置文件可以直接放在代码,也可以放在像nacos这样的组件中,实现动态的管理,修改配置文件后不用进行项目的重启,直接可以实现自动刷新。

官网地址:

Nacos Spring Boot 快速开始

2.示例

①引入依赖

引入的nacos依赖要注意和springboot依赖适配。

        <dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-config-spring-boot-starter</artifactId><version>0.2.5</version></dependency><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.10.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent>

 ②在nacos中添加配置文件

本地启动nacos之后,打开nacos画面,账号和密码都是nacos,如下:

新建命名空间

 可以根据情况选择是否要创建命名空间,默认的命名空间是public。

 新建配置

在配置管理中,选择配置列表,然后选择新建配置所在的命名空间,点击右侧的加号,新建配置

 输入配置文件的data id,data id就是配置文件的名字,在springboot项目中根据data id引入此配置文件。

group默认是DEFAULT_GROUP,可以设置成其他的,一般会设置为dev、test、prod,分别对应开发环境,测试环境及生产环境。
配置文件的格式一般是yaml或者时properities。

在配置文件内容中写入配置信息。

 ③在springboot项目中引入配置

(1)在springboot项目的配置文件中添加nacos配置信息

配置nacos地址及命名空间,如果新创建了命名空间,需要指定一下命名空间id

nacos.config.server-addr=http://192.168.8.178:8848
#nacos.config.auto-refresh=true
nacos.config.namespace=5776702f-a25a-42f4-89d9-31114cfe160f

(2)在启动类中添加引入的nacos配置文件

通过NacosPropertySource注解,指定要引入配置文件的dataId及设置自动刷新为true。

package com.example.demo;import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;@SpringBootApplication
@MapperScan("com.example.demo.mapper")
@NacosPropertySource(dataId = "application",autoRefreshed = true)
@NacosPropertySource(dataId = "demo1",autoRefreshed = true)
@EnableScheduling
public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}

 (3)在程序中引入配置文件中的项目值

在程序中通过NacosValue引入配置文件中的项目内容,通过value属性指定项目id并设置自动刷新

    @NacosValue(value = "${server.name}",autoRefreshed = true)private String name;@NacosValue(value = "${student.id}",autoRefreshed = true)private String idInfo;@NacosValue(value="${student.name}",autoRefreshed = true)private String nameInfo;

 (4)启动项目

启动项目之后,就发现可以引用到配置文件中的内容,并且在nacos画面中修改了配置文件中项目的值,再次发起请求,发现代码中引用的值也会自动刷新。

3.自动刷新的注意点

①必须在启动类中引入配置文件时,设置自动刷新为true。

②必须在程序引用配置文件中的项目时,设置自动刷新为true。

③配置文件中的自动刷新可以不进行设置。

相关文章:

springboot集成nacos并实现自动刷新

目录 1.说明 2.示例 3.自动刷新的注意点 1.说明 springboot项目中存在好多配置文件&#xff0c;比如配置数据信息&#xff0c;redis信息等等&#xff0c;配置文件可以直接放在代码&#xff0c;也可以放在像nacos这样的组件中&#xff0c;实现动态的管理&#xff0c;修改配置…...

java面试八股文2023完整版详解110题附带答案

以下是一份Java面试八股文2023&#xff0c;涵盖了Java编程语言的核心概念和常用技术&#xff0c;帮助你更好地准备面试。 1. Java语言有哪些特点&#xff1f; Java语言是一种面向对象的编程语言&#xff0c;具有简单、面向对象、分布式、多线程、动态等优点。它是一种跨平台的…...

微服务实战系列之Token

前言 什么是“Token”&#xff1f; 它是服务端生成的一串字符串&#xff0c;以作客户端进行请求的一个令牌&#xff0c;当第一次登录后&#xff0c;服务器生成一个Token便返回给客户端&#xff1b;以后客户端只携带此Token请求数据即可。 简言之&#xff0c;Token其实就是用户身…...

DRF纯净版项目搭建和配置

一、安装模块和项目 1.安装模块 pip install django pip install djangorestframework pip install django-redis # 按需安装 2.开启项目和api (venv) PS D:\pythonProject\env_api> django-admin startproject drf . (venv) PS D:\pythonProject\env_api> python ma…...

AUTODL云服务器使用大致步骤(适合本人版)

(一)在官网上创建一个服务器 (二)远程连接指令&#xff1a; 改为&#xff1a; (三)连接后&#xff0c;可在中进行代码运行 输入一些指令 python .........

无需云盘,不限流量实现Zotero跨平台同步:内网穿透+私有WebDAV服务器

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 无需云盘&#xff0c;不限流量实现Zotero跨平台同步&#xff1a;内网穿透私有WebDAV服务器 文章目…...

简朴博客系统测试报告

文章目录 一. 项目简介二. 测试概要三. 测试环境四. 测试执行概况及功能测试1. 手工测试1.1 手动测试用例编写1.2 执行的部分测试用例 2. 自动化测试Selenium2.1 编写测试用例2.2 自动化测试代码 3. 测试结果 五. 发现的问题 一. 项目简介 简朴博客系统是采用前后端分离的方式…...

Qt遇到常见问题记录

1.Qt版本选择 Qt4.8.7是Qt4的终结版本&#xff0c;是Qt4系列版本中最稳定最经典的 &#xff08;很多嵌入式板子还是用Qt4.8&#xff09;&#xff0c;其实该版本是和Qt5.5差不多时间发布的。 参考链接 Qt 5.5 Released Qt5.6.3最最后支持xp系统的长期支持版本&#xff0c;Q…...

pm2在Windows环境中的使用

pm2 进程管理工具可以Windows操作系统上运行&#xff0c;当一台Windows电脑上需要运行多个进程时&#xff0c;或者运维时需要运行多个进程以提供服务时。可以使用pm2&#xff0c;而不再是使用脚本。 1. 使用PM2管理进程 1.1. 启动PM2项目 1.1.1. 直接启动项目 参数说明&…...

使用百度翻译API或腾讯翻译API做一个小翻译工具

前言 书到用时方恨少&#xff0c;只能临时抱佛脚。英文pdf看不懂&#xff0c;压根看不懂。正好有百度翻译API和腾讯翻译API&#xff0c;就利用两个API自己写一个简单的翻译工具&#xff0c;充分利用资源&#xff0c;用的也放心。 前期准备 关键肯定是两大厂的翻译API&#x…...

Flutter笔记:桌面应用 窗口定制库 bitsdojo_window

Flutter笔记 桌面应用窗口管理库 bitsdojo_window 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/article/details/13446…...

iOS_折叠展开 FoldTextView

1. 显示效果 Test1&#xff1a;直接使用&#xff1a; Test2&#xff1a;在 cell 里使用&#xff1a; 2. 使用 2.1 直接使用 // 1.1 init view private lazy var mooFoldTextView: MOOFoldTextView {let view MOOFoldTextView(frame: .zero)view.backgroundColor .cyanvie…...

java使用 TCP 的 Socket API 实现客户端服务器通信

一&#xff1a;什么是 Socket(套接字) Socket 套接字是由系统提供于网络通信的技术, 是基于 TCP/IP 协议的网络通信的基本操作&#xff0c;要进行网络通信, 需要有一个 socket 对象, 一个 socket 对象对应着一个 socket 文件, 这个文件在 网卡上而不是硬盘上, 所以有了 sokcet…...

conda从4.12升级到最新版23.9 自动升级失败 手动升级方法

最新版conda有多线程下载&#xff0c;还做了一些其它易用性改动&#xff0c;所以决定从很老的4.12版本升级到最新版。因为版本差别过大&#xff0c;使用自带的conda update conda已经不起作用了。 手动升级最先想到的是把老环境全部导出为yaml文件&#xff0c;在新环境里全部重…...

WPF下实现拖动任意地方都可以拖动窗口

首先在xaml中添加事件 <Window PreviewMouseLeftButtonDown"Window_PreviewMouseLeftButtonDown"PreviewMouseMove"Window_PreviewMouseMove"PreviewMouseLeftButtonUp"Window_PreviewMouseLeftButtonUp"/>然后脚本输入 Point _pressedP…...

Swin Transformer

Swin Transformer 简介 下采样的层级设计&#xff0c;能够逐渐增大感受野。采用window进行注意力计算&#xff0c;极大降低了内存消耗&#xff0c;避免了整张图像尺寸大小的qkv矩阵滑窗操作包括不重叠的 local window&#xff0c;和重叠的 cross-window。不重叠的local window…...

【csapp lab】lab2_bomblab

文章目录 前言实验内容phase_1phase_2phase_3phase_4phase_5phase_6secret_phase 前言 刚做了csapp lab2&#xff0c;记录一下。 我这里用的的系统环境是Ubuntu22.04&#xff0c;是64位系统&#xff0c;与用32位系统可能有所差异。 实验共包括七个阶段&#xff0c;每个阶段考…...

开发者分享 | Ascend C算子开发及单算子调用

本文分享自《AscendC算子开发及单算子调用》&#xff0c;作者&#xff1a;goldpancake。 笔者在阅读Ascend C官方文档的过程中发现&#xff0c;对于初学者来说&#xff0c;尤其是第一次接触异构编程思想的初学者&#xff0c;有部分内容是无需特别关注的&#xff0c;例如算子工…...

如何在 Linux 上部署 RabbitMQ

如何在 Linux 上部署 RabbitMQ 文章目录 如何在 Linux 上部署 RabbitMQ安装 Erlang从预构建的二进制包安装从源代码编译 Erlang RabbitMQ 的安装使用 RabbitMQ Assistant 连接 RabbitMQ Assistant 是一款优秀的RabbitMQ 可视化管理工具&#xff0c;提供丰富的管理功能。下载地址…...

解决更换NodeJs版本后npm -v返回空白

一、问题描述 win11电脑上输入cmd进入控制台&#xff0c;输入 node --version 有正常返回安装的nodejs的版本号 再输入 npm -v 返回空白。正常情况应该是要返回版本号。 二、问题背景 最近准备学习vue&#xff0c;在不久前已经安装了NodeJs和python。运行了好几个开源项…...

销售怎么通过各种方法获取电话号码

第一种就是那个用爬虫电话号码&#xff0c;然后再打电话给客户。第二种是在别人的挪车电话看车挪车电话&#xff0c;然后再打电话找客户。第三就是。扫楼一顿顿的扫&#xff0c;第四就是这个那种商店&#xff0c;一个个的去问陌拜地推一个个的问店子要不要贷款&#xff0c;去问…...

Vulnhub-DC-1

1.信息收集 使用工具nmap扫描主机端口 这是Drupal是使用PHP语言编写的开源内容管理框架&#xff08;CMF&#xff09;&#xff0c;它由内容管理系统&#xff08;CMS&#xff09;和PHP开发框架&#xff08;Framework&#xff09;共同构成 Web指纹扫描 发现是&#xff1a;drupal…...

基于ATmega2560与ISD1700的智能语音时钟:硬件选型、软件架构与避坑指南

1. 项目概述与核心价值去年折腾那个用ATMega328驱动三块显示屏的时钟时&#xff0c;我主要精力都花在了如何在320x240的TFT屏幕上把时间、日期和图标画得又准又好看上。项目在《Elektor》杂志上发表后&#xff0c;一位热心的读者给我提了个新想法&#xff1a;能不能做个会“说话…...

Godot4 2D游戏开发避坑指南:TileMap绘制、节点顺序与相机设置的三个常见问题

Godot4 2D游戏开发避坑指南&#xff1a;TileMap绘制、节点顺序与相机设置的三个常见问题当你第一次用Godot4完成一个2D场景搭建时&#xff0c;那种成就感往往会被几个突如其来的bug瞬间击碎——角色神秘消失、背景纹丝不动、屏幕边缘出现诡异黑边。这些问题看似简单&#xff0c…...

终极键盘重映射解决方案:3分钟实现职业级游戏操作精度

终极键盘重映射解决方案&#xff1a;3分钟实现职业级游戏操作精度 【免费下载链接】socd Key remapper for epic gamers 项目地址: https://gitcode.com/gh_mirrors/so/socd 在激烈的游戏对抗中&#xff0c;你是否曾因键盘按键冲突而错失关键操作&#xff1f;当同时按下…...

告别硬编码!在UE5.1里用蓝图动态配置MySQL连接参数(控件蓝图实战)

动态配置MySQL连接&#xff1a;UE5.1控件蓝图的工程化实践在游戏开发中&#xff0c;数据库连接往往是项目架构中不可或缺的一环。传统硬编码方式虽然简单直接&#xff0c;却带来了维护困难、安全性差、灵活性低等一系列问题。本文将深入探讨如何在UE5.1中构建一个完全动态化的M…...

Claude SWOT分析(内部风控文档流出版):3类高危使用场景+2个监管红线预警

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Claude SWOT分析&#xff08;内部风控文档流出版&#xff09;&#xff1a;3类高危使用场景2个监管红线预警 高危使用场景识别 在企业级AI应用中&#xff0c;Claude模型若未经严格风控适配&#xff0c;…...

学了几天 Web 安全,终于搞懂什么是 XSS 了

xss的详细介绍最近开始正式学习 Web 安全。前面陆续学了&#xff1a;HTTPCookieSessionJWT RBAC然后发现很多地方都会提到一个东西&#xff1a;XSS以前一直感觉这个漏洞很抽象。网上很多文章一上来就是&#xff1a;<script>alert(1)</script>然后说&#xff1a;“弹…...

基于窗口比较器与晶体管逻辑的可编程非线性电压指示器设计

1. 项目概述&#xff1a;打造一个可编程的“移动光点”电压指示器在电子制作和仪器仪表领域&#xff0c;我们经常需要一个直观的电压指示器。经典的LM3914点/条图显示驱动芯片大家都很熟悉&#xff0c;它能把一个模拟电压信号转换成10个LED的点亮状态&#xff0c;形成移动的光点…...

服务器数据下载安全:实时加密与动态访问控制实战

1. 这不是又一个“加个密码”的方案&#xff0c;而是服务器数据流动的实时安检闸机IP-guard安全网关——这个名字在企业IT运维圈里&#xff0c;常被误读为“桌面端U盘管控工具”或“员工上网行为审计系统”。但真正用过它来守服务器的人&#xff0c;会立刻意识到&#xff1a;它…...