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。

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu20.0中安装Gradle

下载Gradle到temp文件夹 wget https://services.gradle.org/distributions/gradle-8.3-bin.zip -P /tmp 然后解压文件到/opt/gradle目录 sudo unzip -d /opt/gradle /tmp/gradle-8.3.zip 配置Gradle环境变量 接下来我们会创建一个gradle.sh文件来保存Gradle的环境变量 sudo…

JDK1.5 新特性【泛型】

前言 泛型在 JavaSE 阶段是学习过的&#xff0c;但是毕竟处理定义一些简单的集合就很少用到它了&#xff0c;至于最近 Flink 中遇到的 泛型方法&#xff0c;更是感觉闻所未闻&#xff0c;以及源码中加在接口、方法、类前的各种 <T,V> 让我实在自觉羞愧&#xff0c;于是今…

SpringMVC总结

SpringMVC简介 简介 SpringMVC是一款基于Servlet API构建的原始Web框架&#xff0c;从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称&#xff08; spring-webmvc &#xff09;&#xff0c;但它通常被称为“Spring MVC”。 调用流程 接收数…

3.6-Dockerfile语法梳理及最佳实践

WORKDIR是设置当前docker的工作目录 ADD 和 COPY 为了将本地的一些文件添加到docker image里面&#xff0c;ADD 和 COPY的作用特别像&#xff0c;但是ADD 和 COPY还有一些区别&#xff0c;ADD不仅可以添加本地文件到docker里面&#xff0c;还可以将文件在添加到docker image里面…

4.Pod详解【四】

文章目录 4. Pod详解4.1 Pod介绍4.1.1 Pod结构4.1.2 Pod定义 4.2 Pod配置4.2.1 基本配置4.2.2 镜像拉取4.2.3 启动命令4.2.4 环境变量4.2.5 端口设置4.2.6 资源配额 4.3 Pod生命周期4.3.1 创建和终止4.3.2 初始化容器4.3.3 钩子函数4.3.4 容器探测4.3.5 重启策略 4.4 Pod调度4.…

C++算法入门练习——树的带权路径长度

现有一棵n个结点的树&#xff08;结点编号为从0到n-1&#xff0c;根结点为0号结点&#xff09;&#xff0c;每个结点有各自的权值w。 结点的路径长度是指&#xff0c;从根结点到该结点的边数&#xff1b;结点的带权路径长度是指&#xff0c;结点权值乘以结点的路径长度&#x…

嵌入式开发--赛普拉斯cypress的铁电存储器FM25CL64B

嵌入式开发–赛普拉斯cypress的铁电存储器FM25CL64B 简介 FM25CL64B是赛普拉斯cypress出品的一款铁电存储器&#xff0c;这种存储器最大的优势是可以像RAM一样随机存储&#xff0c;和按字节写入&#xff0c;也可以像ROM一样掉电仍然可以保存数据&#xff0c;是一种相当优秀的…

Springboot 对于数据库字段加密方案(此方案是对字符串处理的方案)

背景:在erp开发中&#xff0c;有些用户比较敏感数据库里的数据比较敏感&#xff0c;系统给用户部署后&#xff0c;公司也不想让任何人看到数据&#xff0c;所以就有了数据库字段加密方案。 技术 spring boot mybatisplus 3.3.1 mybatisplus 实际提供了 字段加密方案 第一 他…

使用Spring Boot结合JustAuth实现支付宝、微信、微博扫码登录功能

使用Spring Boot结合JustAuth实现支付宝、微信、微博扫码登录功能 在使用Spring Boot结合JustAuth实现支付宝、微信、微博扫码登录功能之前&#xff0c;需要先确保已经配置好Spring Boot项目&#xff0c;并且添加了JustAuth的依赖。你可以在项目的pom.xml文件中添加如下依赖&a…

PostgreSQL 难搞的事系列 --- vacuum 的由来与PG16的命令的改进 (1)

开头还是介绍一下群&#xff0c;如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友…

【Python从入门到进阶】42、使用requests的Cookie登录古诗文网站

接上篇《41、有关requests代理的使用》 上一篇我们介绍了requests代理的基本使用&#xff0c;本篇我们来学习如何利用requests的Cookie登录古诗文网。 一、登录网站及目的介绍 我们需要Cookie模拟登录的网站为&#xff1a;https://www.gushiwen.cn/&#xff08;古诗文网&…