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