如何实现nacos的配置的热更新

  1. 我们在使用nacos进行修改配置后,需要微服务无需重启即可让配置生效,也就是使配置进行热更新
  2. 我们可以采用下面的两种方式进行配置的热更新操作
    1. 方式一:在@Value所注入的变量的类上添加注解@RefreshScope
      1.

      java 复制代码
      @RestController
      @RequestMapping("/orders")
      @Slf4j
      @RequiredArgsConstructor
      @RefreshScope
      public class OrderController {
      
          
          @Value("${my.version}")
          private String version;
      
      }
    2. 方式二:使用读取配置文件的注解@ConfigurationProperties,同时需要将当前类交于spring管理,加上注解@Component
      1.

      java 复制代码
      package com.app.order.config;
      
      import lombok.Data;
      import org.springframework.boot.context.properties.ConfigurationProperties;
      import org.springframework.stereotype.Component;
      
      /**
       * 用户自定义的配置信息
       *
       * @author Administrator
       */
      @Data
      @ConfigurationProperties(prefix = "my")
      @Component
      public class MyProperties {
          /**
           * 名称
           */
          private String name;
      
      }
      1. 在需要使用的当前配置信息的类注入当前的配置
        1.

        java 复制代码
        @RestController
        @RequestMapping("/orders")
        @Slf4j
        @RequiredArgsConstructor
        public class OrderController {
        
            /**
             * 结合@RequiredArgsConstructor进行构造器注入
             */
            private final MyProperties myProperties;
        
            /**
             * 获取名称
             *
             * @return 返回名称
             */
            @GetMapping("/name")
            public ResultBean<String> myName() {
                return ResultBean.success(myProperties.getName());
            }
        
        }
相关推荐
MediaTea2 分钟前
Python 第三方库:PyTorch(动态计算图的深度学习框架)
开发语言·人工智能·pytorch·python·深度学习
雾林小妖4 分钟前
springboot实现跨服务调用/springboot调用另一台机器上的服务
java·spring boot·后端
百***581413 分钟前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
Boop_wu23 分钟前
[Java EE] 多线程 -- 初阶(3)
java·开发语言
2301_7951672025 分钟前
玩转Rust高级应用 如何理解 Rust 实现免疫数据竞争的关键是Send 和 Sync 这两个 trait
开发语言·算法·rust
云和数据.ChenGuang37 分钟前
Python 3.14 与 PyCharm 2025.2.1 的调试器(PyDev)存在兼容性问题
开发语言·python·pycharm
Felix_XXXXL1 小时前
MySQL----case的用法
java·后端
Mr.Jessy1 小时前
Web APIs 学习第六天:BOM、location对象与本地存储
开发语言·前端·javascript·学习·web api·bom
LIZhang20161 小时前
基于ffmpeg8.0录制mp4文件
开发语言·c++
咕白m6252 小时前
基于Java 实现 PPT 到 PDF 的高效转换
java