当前位置: 首页 > news >正文

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

  1. 我们在使用nacos进行修改配置后,需要微服务无需重启即可让配置生效,也就是使配置进行热更新
  2. 我们可以采用下面的两种方式进行配置的热更新操作
    1. 方式一:在@Value所注入的变量的类上添加注解@RefreshScope
      1. @RestController
        @RequestMapping("/orders")
        @Slf4j
        @RequiredArgsConstructor
        @RefreshScope
        public class OrderController {
        
            
            @Value("${my.version}")
            private String version;
        
        }
    2. 方式二:使用读取配置文件的注解@ConfigurationProperties,同时需要将当前类交于spring管理,加上注解@Component
      1. 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;
        
        }
        
      2. 在需要使用的当前配置信息的类注入当前的配置
        1. @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());
              }
          
          }

相关文章:

  • Django模型
  • QEMU源码全解析 —— virtio(2)
  • python自动化测试实战 —— 自动化测试框架的实例
  • Spring Cloud Gateway中对admin端点进行认证
  • Windows安装卸载MySQL
  • 推荐算法:HNSW【推荐出与用户搜索的类似的/用户感兴趣的商品】
  • 2024毕业设计最新大数据毕业设计选题汇总(合集)
  • AI自动生成代码工具
  • LeedCode刷题---滑动窗口问题
  • 使用elasticsearch-dump工具备份ES数据库
  • Java键值对Pair的使用方式和操作流程
  • ip地址怎么转化为十进制
  • 分布式ID服务实践
  • quickapp_快应用_快应用与h5交互
  • ARM:作业3
  • nginx配置正向代理支持https
  • windows如何解决端口冲突(实用篇)
  • 知识笔记(四十七)———什么是mysql
  • 在vscode下将ipynb文件转成markdown(.md文件)的方法
  • MySQL8.0默认配置详解--持续更新中