如何实现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());
            }
        
        }
相关推荐
fanruitian几秒前
k8s pv pvc 持久化存储
java·linux·kubernetes
哪里不会点哪里.2 分钟前
Spring MVC 四种核心传参形式详解
java·spring·mvc
superman超哥2 分钟前
Actix-web 性能优化技巧:从原理到实践
开发语言·rust·编程语言·actix-web
Anastasiozzzz3 分钟前
常见限流算法--【令牌桶】【漏桶】【固定窗口】【滑动窗口】
java·redis·后端·算法·面试
马尔代夫哈哈哈4 分钟前
Spring Mvc(二)
java·spring boot·spring·servlet·java-ee
橙露5 分钟前
C语言执行四大流程详解:从源文件到可执行程序的完整生命周期
java·c语言·开发语言
czliutz6 分钟前
R语言gm玩音乐示例代码Rmarkdown
开发语言·r语言
啊阿狸不会拉杆8 分钟前
《计算机操作系统》第六章-输入输出系统
java·开发语言·c++·人工智能·嵌入式硬件·os·计算机操作系统
霍理迪9 分钟前
JS对象与函数初相识
开发语言·javascript·ecmascript
风筝在晴天搁浅12 分钟前
hot100 104.二叉树的最大深度
java·算法