超簡單:解析 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.pswp.cn/news/448758.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/448758.shtml
英文地址,請注明出處:http://en.pswp.cn/news/448758.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

初探 C# GPU 通用計算技術

GPU 的并行計算能力高于 CPU,所以最近也有很多利用 GPU 的項目出現在我們的視野中,在 InfoQ 上看到這篇介紹 Accelerator-V2 的文章,它是微軟研究院的研究項目,需要注冊后才能下載,感覺作為我接觸 GPU 通用運算的第一…

d3代碼如何改造成update結構(恰當處理enter和exit)

d3的enter和exit 網上有很多blog講解。說的還湊合的見:https://blog.csdn.net/nicolecc/article/details/50786661 如何把自己的rude繪圖代碼,進行精致化(update) 不多比比,上代碼示例: d3.selectAll(.circ…

退居二線VS在深圳發展,一個十年IT人的選擇之難

有的人一直以來,身體里彷佛住著兩個靈魂。一個靈魂說:人就要拼搏,要奮斗,要實現理想,要留在中國最繁華的城市,感受大都市的生活,實現個人價值,走上人生巔峰!另一個靈魂說…

Jenkins 詳細安裝、構建部署 使用教程

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 Jenkins是一個開源軟件項目,是基于Java開發的一種持續集成工具,用于監控持續重復的工作,功能包括&…

GPU并行計算版函數圖像生成器

前幾天技術大牛Vczh同學開發了一個函數圖像繪制程序,可以畫出方程f(x,y)0的圖像。他的原理是用圖像上每一點的坐標帶入函數f得到針對x和y的兩個方程,再用牛頓迭代法求解得到一組點集,然后畫到圖像上。用他的程序可以畫出各種各樣令人驚嘆的方…

完全平方公式、平方差公式、一個數負次方

1.完全平方公式: 兩數和(或差)的平方,等于它們的平方和,加上(或減去)它們的積的2倍即完全平方公式 (ab)2a2b22ab 兩數和的完全平方公式(完全平方和) 與(a-b)2a2b2-2ab …

WSS連接服務器端報錯

錯誤: 1. Firefox 和 Chrome 瀏覽器對SSL證書拒絕的錯誤提示是不一樣的: (1) Chrome報錯:WebSocket connection failed: Error in connection establishment: net::ERR_CERT_AUTHORITY_INVALID (2&#xff…

LogBack 入門實踐

一、簡介 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 LogBack是一個日志框架,它是Log4j作者Ceki的又一個日志組件。 LogBack,Slf4j,Log4j之間的關系 slf4j是The Simp…

20個公司絕對不會告訴你的潛規則

1.入職時的工資高低不重要,只要你努力工作你會得到相應待遇的    我估計幾乎找過工作的人都聽過這句話,當我們確定被聘用跟公司談工資時,他們都會說“如果以后你業績突出、努力工作,你的報酬也會相應增加的”,特別是…

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;…

Quartz學習資料地址記錄 、Quartz 學習的博客地址記錄

Quartz專欄系列 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1.Quartz學習——Quartz大致介紹(一) 2.Quartz學習——Quartz簡單入門Demo(二&#…

民間75個不傳之密 ,醫院都不知道的秘密

1、頭痛(各種頭痛均可): 生白蘿卜汁,每次滴鼻孔兩滴(兩鼻孔都滴),一日兩次,連用4-5天,可除根。忌吃花椒、胡椒。 2、頭暈(頭昏眼花、暈眩): 鴨蛋一個、赤豆2…

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

Docker最全教程之MySQL容器化 (二十四) 原文:Docker最全教程之MySQL容器化 (二十四)前言 MySQL是目前最流行的開源的關系型數據庫,MySQL的容器化之前有朋友投稿并且寫過此塊,本篇僅從筆者角…

CODING 受邀參加《騰訊全球數字生態大會》

近日,騰訊全年最重要的一場活動——《騰訊全球數字生態大會》于昆明滇池國際會展中心正式舉辦。此次全球數字生態大會是騰訊戰略升級后,整合互聯網數字經濟峰會、云未來峰會、騰訊全球合作伙伴三大行業大會,全新升級打造的行業創新大會。大會…

解決 dockerfile 構建鏡像報錯: [WARNING]: Empty continuation lines will become errors in a future release.

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 1. 只是想自己寫個 dockerfile 用 docker 來部署 rocketmq 的服務。 dockerfile 中要運行多行命令 于是我寫成 RUN 命令a \&&…

第二章: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

王淮經驗談:我的碼農原則

摘要&#xff1a;王淮是Facebook第二位中國籍工程師&#xff0c;也是第一位中國籍研發經理&#xff0c;他一手開創了Facebook的支付安全和客服工具領域。2011年他離開Facebook&#xff0c;回國成為天使投資人。本文是王淮以前寫代碼和做代碼審查時候的一些原則&#xff0c;供大…

centos uwsgi自動調用python2環境,指定uwsgi調用版本

將自己開發好的django項目用uwsgi部署到Linux服務器、當運行uwsgi時出現了uwsgi選擇python版本的問題。因為本機器是在原來的機器上安裝了python3環境和pip3&#xff0c; 使用命令安裝uwsgi: pip3 install uwsgi 一點問題也沒有&#xff0c;使用uwsgi部署項目時 uwsgi --http :…

docker build Dockfile ---- RUN 中 cd 切換路徑失敗 的原因、解決

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 我只是想 直接切換到對應目錄下 執行后續命令。 ?????寫法如下&#xff1a; FROM openjdk:8-jre-alpineMAINTAINER JiangYuRU…