如何实现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());
            }
        
        }
相关推荐
better_liang25 分钟前
每日Java面试场景题知识点之-消息队列MQ核心场景与实战
java·面试·kafka·消息队列·rabbitmq·rocketmq·mq
小江的记录本37 分钟前
【JVM虚拟机】垃圾回收GC:四种引用类型:强引用、软引用、弱引用、虚引用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
小马爱打代码1 小时前
Spring源码 第四篇:Spring 5 源码深度拆解:AOP 全流程核心原理
java·后端·spring
deepin_sir1 小时前
10 - 函数
开发语言·python
better_liang1 小时前
每日Java面试场景题知识点之-SpringBoot启动流程
java·面试·springboot·源码解析·启动流程
RyFit1 小时前
Java + AI 实战:Spring AI 从入门到企业级落地
java·人工智能·spring
z落落1 小时前
C#String字符串
开发语言·c#·php
猫头虎-前端技术2 小时前
JS 作用域与闭包:从变量提升到闭包陷阱的超详细解析
开发语言·javascript·云计算·bootstrap·ecmascript·openstack·perl
枫叶林FYL2 小时前
项目十:事件溯源仓储管理系统(WMS)仿真实现
开发语言·python
繁华落尽,倾城殇?2 小时前
[C++11] : atomic,nullptr,default/delete,enum class
开发语言·c++·c++11·nullptr·atomic·enum class·default/delete