springboot读取nacos配置文件的实现
SpringBoot 注册服务到 Nacos 上,由 Nacos 来做服务的管理。在 Nacos的配置列表中,管理着服务的配置文件。SpringBoot 有两种方式来读取配置文件的内容,一种是写配置文件类 @ConfigurationProperties ,一种是使用 @Value 注解。
首先,Nacos 的配置文件如下
### 配置文件使用 yml 格式, 也可以使用 properties 格式,最终 yml 格式会转化成 properties,但是 @Value 注解### 对 yml 的list 的格式有不同,这个稍后再说。 eg: server.yml (list参数,使用逗号分隔) dashboard: emergent-info: key-1:value-1,key-2:value-2,key-3:value-3 ### 或者这种形式 (注意缩进空格,- 后空格) dashboard: emergent-info: - key-1:value-1 - key-2:value-2 - key-3:value-3
第一种方式来解析
@Setter @Getter @ConfigurationProperties("server") public class ServerProperties { private List<String> dashboardEmergentInfo; }
使用 @ConfigurationProperties 方式来解析,要对应配置文件名,对应属性的key值顺序和参数名的驼峰形式命名。配置文件类的方式,可以解析上面 list 的两种写法。
第二种方式来解析
@RefreshScope public class DashboardController{ @Value("${dashboard.emergent-info:}") private List<String> emergentInfo = new ArrayList<>(); ... }
使用 @Value 注解的方式,代码量是少了,但是解析不了上面配置文件的第二种方式,只能解析第一种使用逗号分隔的list数据。@Value里面的冒号后面是初始化值,这里做空处理。Nacos 修改配置文件list的内容,@Value 注解不会时时的刷新处理数据,所以在 类上加了 @RefreshScope。
到此这篇关于springboot读取nacos配置文件的实现的文章就介绍到这了,更多相关springboot读取nacos配置文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Resilience4J通过yml设置circuitBreaker的方法
Resilience4j是一个轻量级、易于使用的容错库,其灵感来自Netflix Hystrix,但专为Java 8和函数式编程设计,这篇文章主要介绍了Resilience4J通过yml设置circuitBreaker的方法,需要的朋友可以参考下2022-10-10解决Spring Security升级到5.5.7、5.6.4及以上启动报错出现版本不兼容的问题
这篇文章主要介绍了解决Spring Security升级到5.5.7、5.6.4及以上启动报错出现版本不兼容的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-08-08
最新评论