springboot读取nacos配置文件


Posted in Java/Android onMay 20, 2022

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配置文件的文章就介绍到这了!


Tags in this post...

Java/Android 相关文章推荐
Java各种比较对象的方式的对比总结
Jun 20 Java/Android
详解java如何集成swagger组件
Jun 21 Java/Android
Java常用工具类汇总 附示例代码
Jun 26 Java/Android
Java中常用解析工具jackson及fastjson的使用
Jun 28 Java/Android
浅谈自定义校验注解ConstraintValidator
Jun 30 Java/Android
Java使用httpRequest+Jsoup爬取红蓝球号码
Jul 02 Java/Android
SpringBoot+Redis实现布隆过滤器的示例代码
Mar 17 Java/Android
Elasticsearch 配置详解
Apr 19 Java/Android
Java 定时任务技术趋势简介
May 04 Java/Android
Java Spring Boot请求方式与请求映射过程分析
Jun 25 Java/Android
SpringBoot项目部署到阿里云服务器的实现步骤
Jun 28 Java/Android
Spring boot admin 服务监控利器详解
Aug 05 Java/Android
Android studio 简单计算器的编写
May 20 #Java/Android
mybatis 获取更新记录的id
May 20 #Java/Android
Android Studio 计算器开发
May 20 #Java/Android
Android Studio实现简易进制转换计算器
May 20 #Java/Android
Spring 使用注解开发
May 20 #Java/Android
MyBatis核心源码深度剖析SQL语句执行过程
Java 轮询锁使用时遇到问题
May 11 #Java/Android
You might like
简单的过滤字符串中的HTML标记
2006/12/25 PHP
php for 循环语句使用方法详细说明
2010/05/09 PHP
PHP CURL获取返回值的方法
2014/05/04 PHP
一个简单的PHP验证码实现代码
2014/05/10 PHP
php_imagick实现图片剪切、旋转、锐化、减色或增加特效的方法
2014/12/15 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
PHP数组编码gbk与utf8互相转换的两种方法
2016/09/01 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
用Javascript 获取页面元素的位置的代码
2009/09/25 Javascript
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
js实现图片放大缩小功能后进行复杂排序的方法
2012/11/08 Javascript
javascript中通过arguments参数伪装方法重载
2014/10/08 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
基于jQuery代码实现圆形菜单展开收缩效果
2017/02/13 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
zTree jQuery 树插件的使用(实例讲解)
2017/09/25 jQuery
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
JS+Canvas实现五子棋游戏
2020/08/26 Javascript
[04:45]DOTA2上海特级锦标赛主赛事第四日RECAP
2016/03/06 DOTA
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python实现快速计算词频功能示例
2018/06/25 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
详解Python中正则匹配TAB及空格的小技巧
2019/07/26 Python
详解python中的数据类型和控制流
2019/08/08 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
Python坐标轴操作及设置代码实例
2020/06/04 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
法学毕业生自我鉴定
2013/11/08 职场文书
党委书记岗位职责
2013/11/24 职场文书
应用心理学个人求职信范文
2013/12/11 职场文书
阿德的梦教学反思
2014/02/06 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
医院信息公开实施方案
2014/05/09 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS