springboot集成nacos实现自动刷新的示例代码

 更新时间:2023年11月20日 08:53:11   作者:linab112  
研究nacos时发现,springboot版本可使用@NacosValue实现配置的自动刷新,本文主要介绍了springboot集成nacos实现自动刷新的示例代码,感兴趣的可以了解一下

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实现自动刷新的示例代码的文章就介绍到这了,更多相关springboot nacos自动刷新内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringData JPA快速上手之关联查询及JPQL语句书写详解

    SpringData JPA快速上手之关联查询及JPQL语句书写详解

    JPA都有SpringBoot的官方直接提供的starter,而Mybatis没有,直到SpringBoot 3才开始加入到官方模版中,这篇文章主要介绍了SpringData JPA快速上手,关联查询,JPQL语句书写的相关知识,感兴趣的朋友一起看看吧
    2023-09-09
  • Java中HashMap的用法详细介绍

    Java中HashMap的用法详细介绍

    Java HashMap是一种高效的数据结构,用于存储键值对,它是基于哈希表实现的,提供快速的插入、删除和查找操作,这篇文章主要介绍了Java中HashMap用法的相关资料,需要的朋友可以参考下
    2025-08-08
  • 使用SpringMVC 重写、扩展HttpServletRequest请求参数

    使用SpringMVC 重写、扩展HttpServletRequest请求参数

    这篇文章主要介绍了使用SpringMVC 重写、扩展HttpServletRequest请求参数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • java中final关键字使用示例详解

    java中final关键字使用示例详解

    Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例
    2014-01-01
  • springboot实现配置多环境yml方式

    springboot实现配置多环境yml方式

    在SpringBoot项目中,通过创建不同的YAML配置文件来实现多环境配置是一种常见且有效的方法,这些配置文件包括application.yml、application-dev.yml、application-prod.yml等,分别对应不同的开发环境,如开发环境、生产环境
    2024-11-11
  • HttpMessageConverter报文信息转换器的深入讲解

    HttpMessageConverter报文信息转换器的深入讲解

    在Spring中内置了大量的HttpMessageConverter,通过请求头信息中的MIME类型,选择相应的HttpMessageConverter,这篇文章主要给大家介绍了关于HttpMessageConverter报文信息转换器的相关资料,需要的朋友可以参考下
    2022-01-01
  • SpringBoot项目中日期处理的最佳实践

    SpringBoot项目中日期处理的最佳实践

    这篇文章主要为大家详细介绍了SpringBoot项目中日期处理的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2026-02-02
  • spring如何加载配置多个配置文件

    spring如何加载配置多个配置文件

    这篇文章主要介绍了spring如何加载配置多个配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • springmvc配置线程池Executor做多线程并发操作的代码实例

    springmvc配置线程池Executor做多线程并发操作的代码实例

    今天小编就为大家分享一篇关于springmvc配置线程池Executor做多线程并发操作的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • JavaFX桌面应用未响应问题解决方案

    JavaFX桌面应用未响应问题解决方案

    这篇文章主要介绍了JavaFX桌面应用未响应问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07

最新评论