如何实现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());
            }
        
        }
相关推荐
承渊政道35 分钟前
【Python编程—从入门到实践】(Python条件判断完全入门:从布尔表达式到列表中的if实战)
开发语言·python·pycharm·条件判断·布尔表达式
小灰灰搞电子42 分钟前
Rust 相关容器(集合)详解
开发语言·容器·rust
茶本无香1 小时前
Arthas 实战:线上“看 Map”的四种武器
java·map·arthas·线上定位
霸道流氓气质2 小时前
Spring AI异常处理与重试机制
java·人工智能·spring
郑州光合科技余经理4 小时前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程
萧瑟余晖4 小时前
Java深入解析篇三十三之密封类与接口(Sealed Classes)详解
java·开发语言
论迹复利8 小时前
FreeRTOS 在 RISC-V 上是如何“点火“的 —— 从 main() 到第一个任务的完整链路
java·开发语言·risc-v
张宇Joaquin8 小时前
鲲鹏统一并行加速库KUPL--众核并行能力介绍
java·开发语言·网络
736c8 小时前
C语言-数组 07
c语言·开发语言
宸津-代码粉碎机8 小时前
AI攻防战升级!基于Spring AI构建Java应用自动免疫安全体系
java·大数据·开发语言·人工智能·python·安全·spring