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
Springboot使用Spring Data JPA实现数据库操作
Jun 30 Java/Android
SpringBoot工程下使用OpenFeign的坑及解决
Jul 02 Java/Android
idea以任意顺序debug多线程程序的具体用法
Aug 30 Java/Android
Jpa Specification如何实现and和or同时使用查询
Nov 23 Java/Android
Java字符串逆序方法详情
Mar 21 Java/Android
Java 超详细讲解IO操作字节流与字符流
Mar 25 Java/Android
Android自定义ScrollView实现阻尼回弹
Apr 01 Java/Android
Android Studio 计算器开发
May 20 Java/Android
Android Gradle 插件自定义Plugin实现注意事项
Jun 16 Java/Android
前端与RabbitMQ实时消息推送未读消息小红点实现示例
Jul 23 Java/Android
Android实现获取短信验证码并自动填充
May 21 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
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
php中函数前加&amp;符号的作用分解
2014/07/08 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
围观tangram js库
2010/12/28 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
javascript的变量、传值、传址、参数之间关系
2015/07/26 Javascript
javascript html实现网页版日历代码
2016/03/08 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
2016/08/20 Javascript
jQuery实现简洁的轮播图效果实例
2016/09/07 Javascript
Angular中使用ui router实现系统权限控制及开发遇到问题
2016/09/23 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
2017/04/26 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
layui 监听select选择 获取当前select的ID名称方法
2019/09/24 Javascript
vue控制多行文字展开收起的实现示例
2019/10/11 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
python绘制简单彩虹图
2018/11/19 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
利用HTML5中的Canvas绘制一张笑脸的教程
2015/05/07 HTML / CSS
白宫黑市官网:White House Black Market
2016/11/17 全球购物
热能动力工程毕业生自荐信
2013/11/07 职场文书
初中生学习生活的自我评价
2013/11/20 职场文书
机械系毕业生求职信
2014/05/28 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
总经理助理岗位职责
2015/01/31 职场文书
个人自荐书范文
2015/03/09 职场文书
画展观后感
2015/06/17 职场文书
雨雪天气温馨提示
2015/07/15 职场文书
幼儿园亲子活动感想
2015/08/07 职场文书
Windows Server 2016 配置 IIS 的详细步骤
2022/04/28 Servers