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 相关文章推荐
浅谈Python魔法方法
Jun 28 Java/Android
JUnit5常用注解的使用
Jul 02 Java/Android
swagger如何返回map字段注释
Jul 03 Java/Android
利用Sharding-Jdbc进行分库分表的操作代码
Jan 22 Java/Android
SpringCloud Function SpEL注入漏洞分析及环境搭建
Apr 08 Java/Android
详细介绍Java中的CyclicBarrier
Apr 13 Java/Android
Java由浅入深通关抽象类与接口(下篇)
Apr 26 Java/Android
Spring Data JPA框架Repository自定义实现
Apr 28 Java/Android
Android 界面一键变灰 深色主题工具类
Apr 28 Java/Android
详解Spring Bean的配置方式与实例化
Jun 10 Java/Android
Springboot中如何自动转JSON输出
Jun 16 Java/Android
springboot集成redis存对象乱码的问题及解决
Jun 16 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
PHP大转盘中奖概率算法实例
2014/10/21 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
详解PHP5.6.30与Apache2.4.x配置
2017/06/02 PHP
70+漂亮且极具亲和力的导航菜单设计国外网站推荐
2011/09/20 Javascript
用JSON做数据传输格式中的一些问题总结
2011/12/21 Javascript
JavaScript中判断对象类型的几种方法总结
2013/11/11 Javascript
jQuery的each终止或跳过示例代码
2013/12/12 Javascript
Javascript中浮点数相乘的一个解决方法
2014/06/03 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
JS文字球状放大效果代码分享
2015/08/19 Javascript
vue中渐进过渡效果实现
2016/10/27 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
基于Vue.js 2.0实现百度搜索框效果
2020/12/28 Javascript
vue 实现复制内容到粘贴板clipboard的方法
2018/03/17 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
2019/02/20 Javascript
jsonp跨域获取百度联想词的方法分析
2019/05/13 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
详解用python实现简单的遗传算法
2018/01/02 Python
python线程池threadpool使用篇
2018/04/27 Python
pytorch中交叉熵损失(nn.CrossEntropyLoss())的计算过程详解
2020/01/02 Python
python实现遍历文件夹图片并重命名
2020/03/23 Python
python缩进长度是否统一
2020/08/02 Python
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
IdealFit官方网站:女性蛋白质、补充剂和运动服装
2019/03/24 全球购物
上学迟到的检讨书
2014/01/11 职场文书
司机辞职报告范文
2014/01/20 职场文书
尽职尽责村干部自我鉴定
2014/01/23 职场文书
2014县政府领导班子对照检查材料思想汇报
2014/09/25 职场文书
班主任工作总结范文
2015/08/13 职场文书
中学音乐课教学反思
2016/02/18 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
vue2实现provide inject传递响应式
2021/05/21 Vue.js
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript