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

目录
  • 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项目,所以直接在配置文件中获取url这样是十分方便的。

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

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

解决办法

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

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

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

(0)

相关推荐

  • SpringBoot启动yaml报错的解决

    SpringBoot启动yaml报错 报错找不到org.yaml里的一个方法 10:45:54.742 [main] ERROR org.springframework.boot.SpringApplication - Application run failed java.lang.NoSuchMethodError: org.yaml.snakeyaml.nodes.ScalarNode.getScalarStyle()Lorg/yaml/snakeyaml/DumperOptions$Sc

  • SpringBoot的application.yml不生效问题及解决

    目录 application.yml没有生效 这里配置了 bootstrap.yml不生效,无法优先于application.yml文件加载 问题描述 application.yml没有生效 这里配置了 <packaging>pom</packaging> 造成的,删除问题解决~ bootstrap.yml不生效,无法优先于application.yml文件加载 问题描述 由于最近项目需要打包成docker部署到测试服务器,公司统一使用一个nacos作为配置中心,一直不能加载boo

  • 解决SpringBoot加载application.properties配置文件的坑

    SpringBoot加载application.properties配置文件的坑 事情的起因是这样的 一次,本人在现场升级程序,升级完成后进行测试,结果接口调用都报了这么个错误: 大概意思是https接口需要证书校验,这就奇怪了,项目启动加载的是包外的application.properties配置文件,配置文件里没有配置使用https啊.本人马上检查了下包内的application.properties配置文件,发现包内确实配置了https相关的配置项: 明明包外的配置文件优先级高于包内的,为

  • 解决SpringBoot配置文件application.yml遇到的坑

    目录 配置文件application.yml遇到的坑 1.第一个坑,原代码 解决办法 2.第二个坑,原代码参见下图 解决办法 配置文件application.yml的注意事项 这类似于 还有一种配置是properties文件配置 配置文件application.yml遇到的坑 1.第一个坑,原代码 username:root password:123456 项目启动报以下异常: Caused by: org.yaml.snakeyaml.scanner.ScannerException: whi

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

    目录 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.YAMLE

  • springboot如何读取application.yml文件

    现在开发主要使用微服务框架springboot,在springboot中经常遇到读取application.yml文件的情形. 一.概述 开发过程中经常遇到要读取application.yml文件中的属性值,本文总结几种读取的方式,供参考. 二.详述 我这里使用的是springboot-2.1.2.RELEASE版本,这里使用的是application.properties的配置方式,和使用application.yml的方式是一样的.下面是application.properties文件的内容

  • 解决springboot整合cxf启动报错,原因是版本问题

    springboot整合cxf启动报错 错误信息如下 [DEBUG] 2021-01-26 11:28:47,848 [main] org.springframework.boot.diagnostics.LoggingFailureAnalysisReporter - Application failed to start due to an exception org.springframework.beans.factory.NoSuchBeanDefinitionException: N

  • springboot启动feign项目报错:Service id not legal hostnam的解决

    目录 springboot启动feign项目报错:Service id not legal hostnam 在feign项目中,定义接口调用服务 启动时报出异常信息 度娘后发现问题所在 配置文件服务名做同样修改 Service id not legal hostname (pin_user) 错误信息 出现原因 解决方案 springboot启动feign项目报错:Service id not legal hostnam 在feign项目中,定义接口调用服务 @FeignClient(name=

  • SpringBoot项目application.yml文件数据库配置密码加密的方法

    在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明文,数据库就直接暴露了,相当于"裸奔"了,因此需要进行加密处理才行. 使用@SpringBootApplication注解启动的项目,只需增加maven依赖 我们对信息加解密是使用这个jar包的: 编写加解密测试类: package cn.linjk.ehome; import org.jasypt.encryption.pbe.StandardP

  • Pandas之read_csv()读取文件跳过报错行的解决

    读取文件时遇到和列数不对应的行,此时会报错.若报错行可以忽略,则添加以下参数: 样式: pandas.read_csv(***,error_bad_lines=False) pandas.read_csv(filePath) 方法来读取csv文件时,可能会出现这种错误: ParserError:Error tokenizing data.C error:Expected 2 fields in line 407,saw 3. 是指在csv文件的第407行数据,期待2个字段,但在第407行实际发现

  • Tomcat启动springboot项目war包报错:启动子级时出错的问题

    今天公司springboot项目准备部署到测试服务器上进行测试,打包好war后放到tomcat里面启动后,前端文件能访问到,但是接口请求一直是404,一直找了很久的原因,tomcat启动是成功的,war打包的时候也提示build success了,tomcat启动日志发现报错: java.lang.IllegalStateException: 启动子级时出错   at org.apache.catalina.core.ContainerBase.addChildInternal(Containe

  • SpringBoot启动访问localhost:8080报错404的解决操作

    1.确定本地网络是通的: 2.确定SpringBootq启动后是不报错的 3.查看是不是自己在配置文件中加入了项目路径: 如果加入了项目路径的话,直接访问localhost:8080是不会到欢迎页面的,需要加上项目路径才能访问到欢迎页面,即localhost:8080/sell 补充知识:SpringBoot的web项目启动起来无法访问,访问时还是提示无法访问该网站 有时候可能是因为你的pom中导入了太多的依赖,一些依赖之间可能存在冲突导致项目未完全启动而无法访问显示:无法访问该网站 以上这篇S

  • SpringBoot返回Json对象报错(返回对象为空{})

    目录 1 需求描述 2 代码展示 3 原因分析 4 解决方案 5 效果展示 6 结束语 1 需求描述 我们现在要干一个什么事情呢,我们要在浏览器输入一个请求地址,然后我们的后端就给我返回一个User对象即可,并且我希望以Json的格式返回.这个需求很明确,我们先直观的展示一下效果.发送请求: 接受结果: 2 代码展示 行了,明确了需求我们开始整活儿.首先我们老规矩还是先展示一下目录结构(其中标红的文件使我们今天要用到的): 接下来是具体的文件内容首先呢我们展示一下User.java文件 pack

随机推荐