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 13 Java/Android
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
Jun 26 Java/Android
Java集成swagger文档组件
Jun 28 Java/Android
JUnit5常用注解的使用
Jul 02 Java/Android
一篇文章带你学习Mybatis-Plus(新手入门)
Aug 02 Java/Android
Java生成日期时间存入Mysql数据库的实现方法
Mar 03 Java/Android
springboot 自定义配置 解决Boolean属性不生效
Mar 18 Java/Android
springboot layui hutool Excel导入的实现
Mar 31 Java/Android
Java中API的使用方法详情
Apr 06 Java/Android
Java GUI编程菜单组件实例详解
Apr 07 Java/Android
SpringBoot项目部署到阿里云服务器的实现步骤
Jun 28 Java/Android
Java中的Kafka为什么性能这么快及4大核心详析
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
用PHP和ACCESS写聊天室(一)
2006/10/09 PHP
php入门学习知识点二 PHP简单的分页过程与原理
2011/07/14 PHP
php 解压rar文件及zip文件的方法
2014/05/05 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
PHP实现的简单缓存类
2015/07/29 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
jQuery live( type, fn ) 委派事件实现
2009/10/11 Javascript
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
jQuery 自动增长的文本输入框实现代码
2010/04/02 Javascript
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
详解a++和++a的区别
2017/08/30 Javascript
Sublime Text新建.vue模板并高亮(图文教程)
2017/10/26 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
微信小程序 wx.getUserInfo引导用户授权问题实例分析
2020/03/09 Javascript
[01:07:53]RNG vs VG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
linux环境下python中MySQLdb模块的安装方法
2017/06/16 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
2018/04/18 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
python中的单引号双引号区别知识点总结
2019/06/23 Python
Python使用贪婪算法解决问题
2019/10/22 Python
Python下利用BeautifulSoup解析HTML的实现
2020/01/17 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
Python中三维坐标空间绘制的实现
2020/09/22 Python
美国在线鲜花速递:ProFlowers
2017/01/05 全球购物
美国独家设计师眼镜在线光学商店:Glasses Gallery
2017/12/28 全球购物
警察思想汇报
2014/01/04 职场文书
清明节扫墓活动方案
2014/03/02 职场文书
运输公司工作总结
2015/08/11 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
详解JavaScript中Arguments对象用途
2021/08/30 Javascript
基于Redission的分布式锁实战
2022/08/14 Redis