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 26 Java/Android
一篇文章带你复习java知识点
Jun 28 Java/Android
解决Swagger2返回map复杂结构不能解析的问题
Jul 02 Java/Android
浅谈sql_@SelectProvider及使用注意说明
Aug 04 Java/Android
springboot中rabbitmq实现消息可靠性机制详解
Sep 25 Java/Android
Java 在生活中的 10 大应用
Nov 02 Java/Android
MyBatis配置文件解析与MyBatis实例演示
Apr 07 Java/Android
Java 超详细讲解ThreadLocal类的使用
Apr 07 Java/Android
JavaScript正则表达式实现注册信息校验功能
May 30 Java/Android
Spring Cloud OpenFeign模版化客户端
Jun 25 Java/Android
Java实现贪吃蛇游戏的示例代码
Sep 23 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
全国FM电台频率大全 - 5 内蒙古自治区
2020/03/11 无线电
做个自己站内搜索引擎
2006/10/09 PHP
用PHP编程开发“虚拟域名”系统
2006/10/09 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
用javascript模仿ie的自动完成类似自动完成功的表单
2012/12/12 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
JSON取值前判断
2014/12/23 Javascript
关于Sequelize连接查询时inlude中model和association的区别详解
2017/02/27 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
vue 实现数字滚动增加效果的实例代码
2018/07/06 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
对Layer弹窗使用及返回数据接收的实例详解
2019/09/26 Javascript
Vue 2.0双向绑定原理的实现方法
2019/10/23 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
[01:31]DOTA2上海特级锦标赛 SECRET战队完整宣传片
2016/03/16 DOTA
[32:07]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第一场 12.16
2020/12/17 DOTA
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
Python中random模块用法实例分析
2015/05/19 Python
基于python中pygame模块的Linux下安装过程(详解)
2017/11/09 Python
python实现点对点聊天程序
2018/07/28 Python
python继承threading.Thread实现有返回值的子类实例
2020/05/02 Python
python zip()函数的使用示例
2020/09/23 Python
python将下载到本地m3u8视频合成MP4的代码详解
2020/11/24 Python
印尼在线旅游门户网站:NusaTrip
2019/11/01 全球购物
护理学专业求职信
2014/06/29 职场文书
运动与健康自我评价
2015/03/09 职场文书
雨中的树观后感
2015/06/03 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
体育部部长竞选稿
2015/11/21 职场文书
MySQL慢查询的坑
2021/04/28 MySQL
javascript拖曳互换div的位置实现示例
2021/06/28 Javascript