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

2023-12-13 06:49:42
  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());
              }
          
          }

文章来源:https://blog.csdn.net/weixin_41926152/article/details/134961155
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。