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去掉便可以了。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

你可能感兴趣的:(springboot读取application.yml报错问题及解决)