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去掉便可以了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。