SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

 更新时间:2025年05月28日 11:10:53   作者:qq_37963767  
SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配置信息实时刷新,非常方便,下面给大家介绍SpringCloud使用Nacos配置中心实现配置自动刷新功能使用,感兴趣的朋友一起看看吧

前言

SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配置信息实时刷新,非常方便。下面是对Nacos配置中心的自动刷新功能使用。

一、Nacos中集中配置方式?

1.nacos 会自动根据spring.application.name 及spring.profiles.active 自动加载指定格式的配置文件
如 spring.application.name = abc
spring.profiles.active = dev
Nacos 会自动加载 abc.yml、abc-dev.yml 等配置文件
2.使用 共享配置 extension-config
extension-configs允许在特定应用中覆盖共享配置的部分属性。例如,如果某个应用需要特定的数据库URL,可以使用extension-configs来覆盖shared-configs中的配置。
在配置路径spring.cloud.nacos.config.extension-config下,允许我们指定⼀个或多个额外配置
该配置有 单个配置 data-id、group、refresh

        extension-configs[0]:
          data-id: abc-dd.yml
          group: test
          refresh: true

3.使用 扩展配置 shared-configs
shared-configs用于处理多个模块共用的配置,例如数据库连接信息、Redis连接信息、RabbitMQ连接信息等。通过shared-configs,可以在多个项目之间共享同一个配置文件,从而减少重复配置,提高配置管理的效率。
在配置路径spring.cloud.nacos.config.shared-configs下,允许我们指定⼀个或多个共享配置
该配置有 单个配置 data-id、group、refresh

        shared-configs[0]:
          data-id: abc-dd.yml
          group: test
          refresh: true

二、使用步骤

1.使用$Value 注解

代码如下(示例):

@RefreshScope
@Service
public class TestServiceImpl {
   @Value("${user.name:xxx}")
   private String name;
}

如果需要自动更新配置 在配置注入的类上 增加@RefreshScope 注解

2.使用@ConfigurationProperties 注解自定义配置文件

代码如下(示例):

@Data
@RefreshScope
@Component
@ConfigurationProperties(prefix = "user")
public class MockProperties implements Serializable {
   private String name;
   private Integer age;
}

如果需要自动更新配置 在配置注入的类上 增加@RefreshScope 注解,需要注意的是如果配置信息是使用的shared-configs 或者 extension-config 指定的配置文件 需要 在开启refresh 即配置spring.cloud.nacos.config.extension-config.refresh = true

        shared-configs[0]:
          data-id: abc-dd.yml
          group: test
          refresh: true

到此这篇关于SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用的文章就介绍到这了,更多相关SpringCloud Nacos 配置中心内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Springboot jar文件如何打包zip在linux环境运行

    Springboot jar文件如何打包zip在linux环境运行

    这篇文章主要介绍了Springboot jar文件如何打包zip在linux环境运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Java多线程 Guarded Suspension设计模式

    Java多线程 Guarded Suspension设计模式

    这篇文章主要介绍了Java多线程 Guarded Suspension设计模式,Guarded Suspension意为保护暂停,其核心思想是仅当服务进程准备好时,才提供服务,文章围绕Java多线程 Guarded Suspension展开内容,需要的朋友可以参考一下
    2021-10-10
  • 实例讲解java定时任务

    实例讲解java定时任务

    这篇文章主要介绍了实例讲解java定时任务,感兴趣的的朋友可以参考下
    2015-08-08
  • Java 8新的时间日期库的20个使用示例

    Java 8新的时间日期库的20个使用示例

    这篇文章主要介绍了Java 8新的时间日期库的20个使用示例,需要的朋友可以参考下
    2015-04-04
  • Eclipse创建JavaWeb工程的完整步骤记录

    Eclipse创建JavaWeb工程的完整步骤记录

    很多新手不知道Eclipse怎么创建Java Web项目,一起来看看吧,这篇文章主要给大家介绍了关于Eclipse创建JavaWeb工程的完整步骤,需要的朋友可以参考下
    2023-10-10
  • Java Spring5学习之JdbcTemplate详解

    Java Spring5学习之JdbcTemplate详解

    这篇文章主要介绍了Java Spring5学习之JdbcTemplate详解,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-05-05
  • java 调用本地扬声器的步骤

    java 调用本地扬声器的步骤

    博主的毕设系统在做一个餐厅的点餐管理系统,在进行移动端页面开发的时候突发奇想做一个呼叫功能,因此就有了这篇文章
    2021-05-05
  • SpringBoot整合SpringSecurityOauth2实现鉴权动态权限问题

    SpringBoot整合SpringSecurityOauth2实现鉴权动态权限问题

    这篇文章主要介绍了SpringBoot整合SpringSecurityOauth2实现鉴权-动态权限,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • java中的Io(input与output)操作总结(一)

    java中的Io(input与output)操作总结(一)

    所谓IO,也就是Input与Output的缩写。在java中,IO涉及的范围比较大,这里主要讨论针对文件内容的读写,感兴趣的朋友可以了解下
    2013-01-01
  • Spring Boot3 + JDK21 的迁移超详细步骤(最新推荐)

    Spring Boot3 + JDK21 的迁移超详细步骤(最新推荐)

    本文详细介绍了从SpringBoot2.x到3.5.x,并JDK21的生产环境升级过程,通过使用OpenRewrite等自动化工具,大大减少了手动修改工作量,提升了升级效率,感兴趣的朋友跟随小编一起看看吧
    2025-12-12

最新评论