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 将PPT幻灯片转为HTML文件的实现思路
Jun 11 Java/Android
SpringBoot项目中控制台日志的保存配置操作
Jun 18 Java/Android
Java循环队列与非循环队列的区别总结
Jun 22 Java/Android
解决Jenkins集成SonarQube遇到的报错问题
Jul 15 Java/Android
关于springboot 配置date字段返回时间戳的问题
Jul 25 Java/Android
MyBatis-Plus 批量插入数据的操作方法
Sep 25 Java/Android
Java 实现限流器处理Rest接口请求详解流程
Nov 02 Java/Android
Java如何实现通过键盘输入一个数组
Feb 15 Java/Android
Java实现学生管理系统(IO版)
Feb 24 Java/Android
spring IOC容器的Bean管理XML自动装配过程
May 30 Java/Android
Spring Boot项目如何优雅实现Excel导入与导出功能
Jun 10 Java/Android
springboot 全局异常处理和统一响应对象的处理方式
Jun 28 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
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
Linux操作系统安装LAMP环境
2015/06/26 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
2017/07/03 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
原生JS实现Ajax通过POST方式与PHP进行交互的方法示例
2018/05/12 PHP
JavaScript arguments 多参传值函数
2010/10/24 Javascript
特殊情况下如何获取span里面的值
2014/05/20 Javascript
Javascript实现计算个人所得税
2015/05/10 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
微信小程序实现语音识别转文字功能及遇到的坑
2019/08/02 Javascript
[01:50]《我与DAC》之玩家:iG夺冠时的那面红旗
2018/03/29 DOTA
Python实现字符串反转的常用方法分析【4种方法】
2017/09/30 Python
python实现雨滴下落到地面效果
2018/06/21 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
Django model select的多种用法详解
2019/07/16 Python
pytorch对梯度进行可视化进行梯度检查教程
2020/02/04 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
PyQt中使用QtSql连接MySql数据库的方法
2020/07/28 Python
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
荷兰网上鞋店:Ziengs.nl
2017/01/02 全球购物
Bodum官网:咖啡和茶壶、玻璃器皿、厨房电器等
2018/08/01 全球购物
惠而浦美国官网:Whirlpool.com
2021/01/19 全球购物
销售顾问的岗位职责
2013/11/13 职场文书
上班玩手机检讨书
2014/02/17 职场文书
新品发布会主持词
2014/04/02 职场文书
银行职员自我鉴定
2014/04/20 职场文书
论文指导教师评语
2014/04/28 职场文书
离婚协议书范本样本
2014/08/19 职场文书
民主评议党员自我鉴定
2014/10/21 职场文书
面试通知邮件
2015/04/20 职场文书
Redis实现订单自动过期功能的示例代码
2021/05/08 Redis