- 我们在使用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