springboot讀取application.yml報錯問題及解決

springboot讀取application.yml報錯

springboot項目啟動時,讀取配置文件出錯

錯誤信息如下

Failed to load property source from location 'classpath:/application.yml'
……
org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1

查找資料,原因基本確定為文件編碼格式的問題(原yml文件為GBK格式),於是將GBK格式改為UTF-8,改完後發現之前文件中註釋的中文亂碼瞭,問題的原因應該是出自於這裡,於是將註釋全部刪除,再啟動就正常瞭。

註:文件格式更改後,看是否有亂碼現象,註釋也會有影響。

@Value讀取Application.yml為null

項目需求

在springBoot中有一個寫死的url,發送http請求獲取一個視頻地址。

一開始的思路是這樣的,然後考慮到這樣寫不夠靈活,因為是springBoot項目,所以直接在配置文件中獲取url這樣是十分方便的。

然後需要獲取Value的敵方使用@VALUE註解來獲取

但是死活獲取不到該處的URL,一直為空。

解決辦法

最後發現該變量我之前用static進行修飾。static是在類加載前便初始化變量。所以這時@VALUE並沒有生效。所以為NULL

隻需要把static去掉便可以瞭。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。 

推薦閱讀: