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 相关文章推荐
Win10系统下配置Java环境变量
Jun 13 Java/Android
ConstraintValidator类如何实现自定义注解校验前端传参
Jun 18 Java/Android
详解Java实现数据结构之并查集
Jun 23 Java/Android
Java基础之详解HashSet的使用方法
Jun 30 Java/Android
Java Kafka 消费积压监控的示例代码
Jul 01 Java/Android
详细了解MVC+proxy
Jul 09 Java/Android
Java面试题冲刺第十九天--数据库(4)
Aug 07 Java/Android
使用jpa之动态插入与修改(重写save)
Nov 23 Java/Android
关于maven依赖 ${xxx.version}报错问题
Jan 18 Java/Android
Java Lambda表达式常用的函数式接口
Apr 07 Java/Android
Java实现简单小画板
Jun 10 Java/Android
MyBatis在注解上使用动态SQL方式(@select使用if)
Jul 07 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中的超全局变量
2006/10/09 PHP
php结合表单实现一些简单功能的例子
2011/06/04 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
2013/07/02 PHP
PHP也能干大事 随机函数
2015/04/14 PHP
PHP异常处理浅析
2015/05/12 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
PHP sleep()函数, usleep()函数
2016/08/25 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
JS 精确统计网站访问量的实例代码
2013/07/05 Javascript
jquery批量控制form禁用的代码
2013/08/06 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
JavaScript通过select动态更换图片的方法
2015/03/23 Javascript
js计算文本框输入的字符数
2015/10/23 Javascript
vue模板语法-插值详解
2017/03/06 Javascript
jquery动态赋值id与动态取id方法示例
2017/08/21 jQuery
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
vue.js层叠轮播效果的实例代码
2018/11/08 Javascript
ionic使用angularjs表单验证(模板验证)
2018/12/12 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
[38:51]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-CDEC
2014/05/22 DOTA
Django 通过JS实现ajax过程详解
2019/07/30 Python
python将时分秒转换成秒的实例
2019/12/07 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
财务人员的自我评价范文
2014/03/03 职场文书
党员入党表决心的话
2014/03/11 职场文书
经营目标管理责任书
2014/07/25 职场文书
殡葬服务心得体会
2014/09/11 职场文书
党员民主评议总结
2014/10/20 职场文书
党的群众路线教育实践活动总结材料
2014/10/30 职场文书
个人创业事迹材料
2014/12/30 职场文书
创业计划书之家政服务
2019/09/18 职场文书
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS
mysql主从复制的实现步骤
2021/10/24 MySQL