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 相关文章推荐
jackson json序列化实现首字母大写,第二个字母需小写
Jun 29 Java/Android
MyBatis-Plus 批量插入数据的操作方法
Sep 25 Java/Android
SpringCloud之@FeignClient()注解的使用方式
Sep 25 Java/Android
关于ObjectUtils.isEmpty() 和 null 的区别
Feb 28 Java/Android
Java基于Dijkstra算法实现校园导游程序
Mar 17 Java/Android
Java字符串逆序方法详情
Mar 21 Java/Android
Java 常见的限流算法详细分析并实现
Apr 07 Java/Android
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
Apr 08 Java/Android
零基础学java之带返回值的方法的定义和调用
Apr 10 Java/Android
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
Apr 13 Java/Android
Android基础入门之dataBinding的简单使用教程
Jun 21 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
怎样在UNIX系统下安装MySQL
2006/10/09 PHP
用php实现像JSP,ASP里Application那样的全局变量
2007/01/12 PHP
PHP取整数函数常用的四种方法小结
2012/07/05 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
php实现ip白名单黑名单功能
2015/03/12 PHP
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
js获取指定日期前后的日期代码
2013/08/20 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
js中split()方法得到的数组长度问题
2018/07/19 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
vue中 数字相加为字串转化为数值的例子
2019/11/07 Javascript
[02:12]Dota 2 推出全新英雄—— 电炎绝手
2019/08/23 DOTA
[01:03:50]DOTA2-DPC中国联赛 正赛 CDEC vs DLG BO3 第二场 2月7日
2021/03/11 DOTA
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
python实现百度关键词排名查询
2014/03/30 Python
Python入门篇之数字
2014/10/20 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
python 定时器每天就执行一次的实现代码
2019/08/14 Python
vue常用指令代码实例总结
2020/03/16 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
Python更换pip源方法过程解析
2020/05/19 Python
Python flask框架实现浏览器点击自定义跳转页面
2020/06/04 Python
美国知名的家庭连锁百货商店:Boscov’s
2017/07/27 全球购物
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
校园之声广播稿
2014/01/31 职场文书
初中学生评语大全
2014/04/24 职场文书
无传销社区工作方案
2014/05/13 职场文书
119消防日活动总结
2014/08/29 职场文书
2015毕业生简历自我评价
2015/03/02 职场文书
tomcat正常启动但网页却无法访问的几种解决方法
2022/05/06 Servers