目录
  • springboot读取application.yml报错
    • 错误信息如下
  • @Value读取Application.yml为null
    • 项目需求
    • 解决办法

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读取application.yml报错问题及解决

一开始的思路是这样的,然后考虑到这样写不够灵活,因为是springBoot项目,所以直接在配置文件中获取url这样是十分方便的。

springboot读取application.yml报错问题及解决

然后需要获取Value的敌方使用@VALUE注解来获取

springboot读取application.yml报错问题及解决

但是死活获取不到该处的URL,一直为空。

解决办法

最后发现该变量我之前用static进行修饰。static是在类加载前便初始化变量。所以这时@VALUE并没有生效。所以为NULL

只需要把static去掉便可以了。

springboot读取application.yml报错问题及解决

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。