Nacos配置管理-配置自动刷新

我们在开发时,时常面临着要随时更改Nacos配置的问题,同时我们的微服务有成百上千的模块,此时要一一重启每个模块是不现实的,此时我们的nacos配置自动刷新脱颖而出

方式一:在@Value注入的变量所在类上添加注解@RefreshScope
pattern:
  dateformat: yyyy/MM/dd HH:mm:ss

 上面是Nacos的配置文件(这里需要自行配置,如有不会的地方可以留言博主~~)

​
@Slf4j
@RestController
@RequestMapping("/user")
//@RefreshScope  //在@Value注入的变量所在类上添加注解@RefreshScope
               //Nacos中的配置文件变更后,微服务无需重启就可以感知
public class UserController {
    @Value("${pattern.dateformat}")
    private String url;

    @GetMapping("/url")
    public String getUrl(){
        return LocalDateTime.now().format(DateTimeFormatter.ofPattern
                (url, Locale.CANADA));
    }

}

​

 访问localhost:8081/user/url

出现此图,然后更改Nacos配置文件

pattern:
  dateformat: yyyy年MM月dd HH:mm:ss

 然后再 访问localhost:8081/user/url

 

 表示成功~~~~~~~~~~~~~~

方式二:使用@ConfigurationProperties注解
@Data
@Component
@ConfigurationProperties(prefix ="pattern")
public class PatternProperties {
    private String dateformat;//这里prefix会和dateformat自动进行拼接
}

 注意:这里如果使用了方式一的话,一定要注释掉@RefreshScope,否则会有冲突

同时表现类中改一下url换成patternProperties.getDateformat()

效果和方式一样这里小编就不再演示了!

注意事项

不是所有的配置都适合放到配置中心,维护起来比较麻烦
建议将一些关键参数,需要运行时调整的参数放到 nacos 配置中心,一般都是自定义配置

这里小编建议使用使用方二~~~~~

                                           制作不易,点赞谢谢~~~~ 

你可能感兴趣的:(java,spring,boot,分布式)