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 相关文章推荐
SpringCloud Alibaba 基本开发框架搭建过程
Jun 13 Java/Android
Feign调用传输文件异常的解决
Jun 24 Java/Android
实体类或对象序列化时,忽略为空属性的操作
Jun 30 Java/Android
springboot+WebMagic+MyBatis爬虫框架的使用
Aug 07 Java/Android
SSM项目使用拦截器实现登录验证功能
Jan 22 Java/Android
SpringBoot2零基础到精通之异常处理与web原生组件注入
Mar 22 Java/Android
SpringBoot2零基础到精通之数据与页面响应
Mar 22 Java/Android
Android存储中最基本的文件存储方式
Apr 30 Java/Android
Java 定时任务技术趋势简介
May 04 Java/Android
spring IOC容器的Bean管理XML自动装配过程
May 30 Java/Android
Spring Boot优化后启动速度快到飞起技巧示例
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
PHP 和 XML: 使用expat函数(二)
2006/10/09 PHP
PHP中获取时间的下一周下个月的方法
2014/03/18 PHP
使用PHPCMS搭建wap手机网站
2015/09/20 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
IE浏览器兼容Firefox的JS脚本的代码
2008/10/23 Javascript
jQuery中(function(){})()执行顺序的理解
2013/03/05 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
详解Node项目部署到云服务器上
2017/07/12 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
js中let和var定义变量的区别
2018/02/08 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
JsonProperty 的使用方法详解
2019/10/11 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
vue 如何使用递归组件
2020/10/23 Javascript
[06:04]DOTA2国际邀请赛纪录片:Just For LGD
2013/08/11 DOTA
Python中除法使用的注意事项
2014/08/21 Python
在Python中定义和使用抽象类的方法
2016/06/30 Python
Python入门之三角函数tan()函数实例详解
2017/11/08 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
django用户登录验证的完整示例代码
2019/07/21 Python
天网工程实施方案
2014/03/26 职场文书
领导班子四风问题个人对照检查材料
2014/10/04 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
基层党建工作简报
2015/07/21 职场文书
《索溪峪的野》教学反思
2016/02/19 职场文书
高中班主任寄语
2019/06/21 职场文书
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
React如何创建组件
2021/06/27 Javascript
JDK8中String的intern()方法实例详细解读
2022/09/23 Java/Android