springboot讀取application.yml報(bào)錯(cuò)問(wèn)題及解決
springboot讀取application.yml報(bào)錯(cuò)
springboot項(xiàng)目啟動(dòng)時(shí),讀取配置文件出錯(cuò)
錯(cuò)誤信息如下
Failed to load property source from location 'classpath:/application.yml'
......
org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
查找資料,原因基本確定為文件編碼格式的問(wèn)題(原yml文件為GBK格式),于是將GBK格式改為UTF-8,改完后發(fā)現(xiàn)之前文件中注釋的中文亂碼了,問(wèn)題的原因應(yīng)該是出自于這里,于是將注釋全部刪除,再啟動(dòng)就正常了。
注:文件格式更改后,看是否有亂碼現(xiàn)象,注釋也會(huì)有影響。
@Value讀取Application.yml為null
項(xiàng)目需求
在springBoot中有一個(gè)寫(xiě)死的url,發(fā)送http請(qǐng)求獲取一個(gè)視頻地址。
一開(kāi)始的思路是這樣的,然后考慮到這樣寫(xiě)不夠靈活,因?yàn)槭莝pringBoot項(xiàng)目,所以直接在配置文件中獲取url這樣是十分方便的。
然后需要獲取Value的敵方使用@VALUE注解來(lái)獲取
但是死活獲取不到該處的URL,一直為空。
解決辦法
最后發(fā)現(xiàn)該變量我之前用static進(jìn)行修飾。static是在類(lèi)加載前便初始化變量。所以這時(shí)@VALUE并沒(méi)有生效。所以為NULL
只需要把static去掉便可以了。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)經(jīng)典游戲之大魚(yú)吃小魚(yú)
這篇文章主要為大家詳細(xì)介紹了如何利用Java語(yǔ)言實(shí)現(xiàn)經(jīng)典游戲之大魚(yú)吃小魚(yú),文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Java游戲開(kāi)發(fā)有一定幫助,需要的可以參考一下2022-08-08Spring?Boot?教程之創(chuàng)建項(xiàng)目的三種方式
這篇文章主要分享了Spring?Boot?教程之創(chuàng)建項(xiàng)目的三種方式,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05Mybatis攔截器實(shí)現(xiàn)數(shù)據(jù)權(quán)限詳解
這篇文章主要介紹了Mybatis攔截器實(shí)現(xiàn)數(shù)據(jù)權(quán)限詳解, 通過(guò)Mybatis攔截器我們可以攔截某些方法的調(diào)用,我們可以選擇在這些被攔截的方法執(zhí)行前后加上某些邏輯,需要的朋友可以參考下2023-11-11java字符串日期類(lèi)Date和Calendar相互轉(zhuǎn)化及相關(guān)常用方法
Java語(yǔ)言的Calendar(日歷),Date(日期),和DateFormat(日期格式)組成了Java標(biāo)準(zhǔn)的一個(gè)基本但是非常重要的部分,下面這篇文章主要給大家介紹了關(guān)于java字符串日期類(lèi)Date和Calendar相互轉(zhuǎn)化及相關(guān)常用方法的相關(guān)資料,需要的朋友可以參考下2023-12-12java中對(duì)象和JSON格式的轉(zhuǎn)換方法代碼
JSON格式可以輕松地以面向?qū)ο蟮姆绞睫D(zhuǎn)換為Java對(duì)象,下面這篇文章主要給大家介紹了關(guān)于java中對(duì)象和JSON格式的轉(zhuǎn)換方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12Java BigInteger類(lèi),BigDecimal類(lèi),Date類(lèi),DateFormat類(lèi)及Calendar類(lèi)用法示例
這篇文章主要介紹了Java BigInteger類(lèi),BigDecimal類(lèi),Date類(lèi),DateFormat類(lèi)及Calendar類(lèi)用法,結(jié)合實(shí)例形式詳細(xì)分析了Java使用BigInteger類(lèi),BigDecimal類(lèi),Date類(lèi),DateFormat類(lèi)及Calendar類(lèi)進(jìn)行數(shù)值運(yùn)算與日期運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2019-03-03基于斷點(diǎn)續(xù)傳下載原理的實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇基于斷點(diǎn)續(xù)傳下載原理的實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09使用@RequiredArgsConstructor注解來(lái)取代繁瑣的@Autowrired
有了@RequiredArgsConstructor注解,我們就可以減少@Autowired的書(shū)寫(xiě),本文主要介紹了使用@RequiredArgsConstructor注解來(lái)取代繁瑣的@Autowrired,感興趣的可以了解一下2022-04-04關(guān)于SpringBoot整合RabbitMQ實(shí)現(xiàn)死信隊(duì)列
這篇文章主要介紹了關(guān)于SpringBoot整合RabbitMQ實(shí)現(xiàn)死信隊(duì)列,死信隊(duì)列實(shí)際上就是一個(gè)普通的隊(duì)列,只是這個(gè)隊(duì)列跟死信交換機(jī)進(jìn)行了綁定,用來(lái)存放死信而已,需要的朋友可以參考下2023-05-05