超简单:解析 yml 类型(application.yml)配置文件 、springboot 工程读取 yml 文件中的值

方法三是我觉得最简单的。

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

1. 工程结构:

 

 

2. 我要读取  application.yml 中属性 :spring.rocketmq.namesrvAddr 的值。

 

3. 方法一 :直接读取配置文件

System.getProperty("user.dir")  可以得到根目录 。

   File dumpFile=new File(System.getProperty("user.dir") + "/postman-sub-xxx/src/main/resources/application.yml");Map father = Yaml.loadType(dumpFile, HashMap.class);for(Object key:father.keySet()){System.out.println(key+":\t"+father.get(key).toString());}

如果在 yml 中配置为

spring.rocketmq.namesrvAddr: http://xxxxxx-orm  ( 标准应该用冒号,用点号只是方便此处取值 )

运行可以在控制台输出:

但这种用法要求是 yml 文件在本工程中,我的情况是聚合工程,跨工程没有读取到。

 

方法二:

yml 配置文件在 web 工程中,而读取是在 sub 工程中。这种初始化方法 聚合工程也能取到配置文件中的值 。

读取方式如下,直接把 @Value 给在 set 方法就可。nameservAddr 便有值了。

   private String nameservAddr;@Value("${spring.rocketmq.namesrvAddr}")public void setNameservAddr(String nameservAddr) {this.nameservAddr = nameservAddr;}

 

方法三:

类似方法二,但比方法二更简易些。

import lombok.Getter;
import lombok.Setter;...@Getter@Setter@Value("${liuxiao.defualtUser}") // 读取配置文件中的值private String defualtUser;...

不用写 set 方法,直接给注解。

前提是要装一个插件:lombok 。 直接在插件中搜索到它,装上就行了。

 

附:可组合使用多个注解,读取配置文件中的值

import org.springframework.boot.context.properties.ConfigurationProperties;

如上图,加上第一个红框中注解可以直接从配置文件中读取到 spring.redis 下面所有的配置内容。

如下图,事实上  spring下 redis 下的配置 expiration、isok、notused 的值都已读取到了。

 

只要本类成员变量的属性名和配置文件中 key 对应且提供了 @Getter @Setter 这2个注解,就可直接把配置文件中 key 的 value 初始化到本类属性 expiration 上了。

如本例中  expiration 的值为 122345786755 已经可以直接使用了。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448758.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

初探 C# GPU 通用计算技术

GPU 的并行计算能力高于 CPU,所以最近也有很多利用 GPU 的项目出现在我们的视野中,在 InfoQ 上看到这篇介绍 Accelerator-V2 的文章,它是微软研究院的研究项目,需要注册后才能下载,感觉作为我接触 GPU 通用运算的第一…

Jenkins 详细安装、构建部署 使用教程

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括&…

GPU并行计算版函数图像生成器

前几天技术大牛Vczh同学开发了一个函数图像绘制程序,可以画出方程f(x,y)0的图像。他的原理是用图像上每一点的坐标带入函数f得到针对x和y的两个方程,再用牛顿迭代法求解得到一组点集,然后画到图像上。用他的程序可以画出各种各样令人惊叹的方…

完全平方公式、平方差公式、一个数负次方

1.完全平方公式: 两数和(或差)的平方,等于它们的平方和,加上(或减去)它们的积的2倍即完全平方公式 (ab)2a2b22ab 两数和的完全平方公式(完全平方和) 与(a-b)2a2b2-2ab …

java 复制文件

2019独角兽企业重金招聘Python工程师标准>>> public class copyFIle { public static void main(String[] args) throws IOException { File source new File("d:/test/1.xml");File des new File("d:/test/ma.txt");InputStream input null;…

Docker最全教程之MySQL容器化 (二十四)

Docker最全教程之MySQL容器化 (二十四) 原文:Docker最全教程之MySQL容器化 (二十四)前言 MySQL是目前最流行的开源的关系型数据库,MySQL的容器化之前有朋友投稿并且写过此块,本篇仅从笔者角…

CODING 受邀参加《腾讯全球数字生态大会》

近日,腾讯全年最重要的一场活动——《腾讯全球数字生态大会》于昆明滇池国际会展中心正式举办。此次全球数字生态大会是腾讯战略升级后,整合互联网数字经济峰会、云未来峰会、腾讯全球合作伙伴三大行业大会,全新升级打造的行业创新大会。大会…

第二章:08运算符[比较运算符]

①比较运算符②实例/* 运算符之三&#xff1a;比较运算符 ! > < > < instanceof 结论&#xff1a; 1.比较运算符的结果是boolean类型 2.区分 和 */ class CompareTest { public static void main(String[] args) { int i 10; int j 20; System.out.pr…

Apache版本兼容性问题

Apache 版本2.2.31 版本对于谷歌浏览器不兼容、IE8版本可以正常使用 当使用了Apache 高版本的话就解决了 出现以下现象 转载于:https://www.cnblogs.com/tzhyy/p/10931084.html

米尔电子Zynq UltraScale MPSoC核心板资料介绍

米尔Zynq UltraScale MPSoC核心板&#xff08;MYC-CZU3EG&#xff09;是采用Xilinx新一代Zynq处理器。该核心板是业界最小尺寸Zynq UltraScale 核心板&#xff0c;采用16纳米制程&#xff0c;相比Znyq7000系列每瓦性能提升5倍&#xff0c;且单芯片融合4核心Cortex-A53&#xff…

解决:If the number of processors is expected to increase from one, then you should configure the numbe

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 按官方说明用 docker 部署 rocketmq ,启动 broker 报错&#xff1a; OpenJDK 64-Bit Server VM warning: If the number of processo…

Docker 方式安装部署 rocketMQ 、部署 图形化界面控制台、rocketMQ 控制台

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 直接上官网&#xff0c;找到工程&#xff0c;clone 到本地&#xff0c;地址&#xff1a;https://github.com/apache/rocketmq-extern…

【随想】每日两题Day.22

题目&#xff1a;102. 二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[…

实体类(VO,DO,DTO)的划分

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 从领域建模中的实体划分、项目中的实际应用情况两个角度&#xff0c;对这几个概念进行简析。 得出的主要结论是&#xff1a;在项目应用…

IIS新建站点服务器,localhost能登录但是IP访问登录不了。

IIS服务器新建站点之后&#xff0c;浏览页面&#xff0c;服务器本地是可以登录&#xff0c;但是localhost换成IP就无法访问。其他站点IP却可以访问。 1.如果浏览直接失败&#xff0c;说明端口号需要更换。 2.如果出现IP不能访问&#xff0c;localhost能访问&#xff0c;需要在高…

eclipse问题_Alt+/不给提示,只补充代码问题的解决方案

今天用eclipse敲代码的时候遇到的问题 我还以为是冲突什么的 还重新装了软件 最后才发现原来是快捷键设置的问题 解决方案&#xff1a; 1&#xff1a;打开菜单window→Preferences&#xff0c;然后在窗口的左侧树选择General->Keys 2&#xff1a;在下图中的5框的地方输入“w…

领域驱动设计:浅析 VO、DTO、DO、PO 概念、区别、用处

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 本篇文章主要讨论一下我们经常会用到的一些对象&#xff1a;VO、DTO、DO和PO。 由于不同的项目和开发人员有不同的命名习惯&#xff0c…

案例:隐秘而低调的内存泄露(OOM)

内存泄露测试的整个过程如下&#xff1a;在手机里启动被测APP并打开DDMS。在DDMS中选中【com.example.android.hcgallery】之后单击按钮【show heap updates】&#xff0c;然后切换到标签页【VM Heap】&#xff0c;再单击按钮【Cause GC】。不断操作APP&#xff0c;并观察Heap。…

一名IT从业者的英语口语能力成长路径

这篇文章是我最近十天口语系列文章的合辑&#xff0c;文章比较长&#xff0c;一万五千余字。但是系统化地归纳了自己十多年的英语尤其是口语方面的学习经历与总结思考。我不是个纯粹的英语专业学生&#xff0c;我甚至不是任何英语相关专业的学生&#xff0c;但是我和英语却有着…

解决:SpringBoot 错误:Caused by: org.yaml.snakeyaml.scanner.ScannerException

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 错误: Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next tokenfound character that cannot s…