定制开发我们在开发时,定制开发时常面临着要随时更改定制开发配置的问题,定制开发同时我们的微服务有成定制开发百上千的模块,此时要一一重启每个模块是不现实的,此时我们的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));
- }
-
- }
-
-
访问
出现此图,然后更改Nacos配置文件
- pattern:
- dateformat: yyyy年MM月dd HH:mm:ss
然后再 访问
表示成功~~~~~~~~~~~~~~
方式二:使用@ConfigurationProperties注解
- @Data
- @Component
- @ConfigurationProperties(prefix ="pattern")
- public class PatternProperties {
- private String dateformat;//这里prefix会和dateformat自动进行拼接
- }
注意:这里如果使用了方式一的话,一定要注释掉@RefreshScope,否则会有冲突
同时表现类中改一下url换成patternProperties.getDateformat()
效果和方式一样这里小编就不再演示了!
注意事项:
• 不是所有的配置都适合放到配置中心,维护起来比较麻烦
• 建议将一些关键参数,需要运行时调整的参数放到 nacos 配置中心,一般都是自定义配置
这里小编建议使用使用方二~~~~~
制作不易,点赞谢谢~~~~