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

目录
  • 配置文件application.yml遇到的坑
    • 1.第一个坑,原代码
      • 解决办法
    • 2.第二个坑,原代码参见下图
      • 解决办法
  • 配置文件application.yml的注意事项
    • 这类似于
    • 还有一种配置是properties文件配置

配置文件application.yml遇到的坑

1.第一个坑,原代码

username:root
password:123456

项目启动报以下异常:

Caused by: org.yaml.snakeyaml.scanner.ScannerException: while scanning a simple key

产生问题的根源:application.yml文件键、值对之间要用冒号:隔开,而且冒号和值之间有一个空格

上述异常产生的就是键后面的:号紧接着写值,没有留一个空格。

解决办法

冒号:后面留出一个空格后再写值

2.第二个坑,原代码参见下图

项目启动以后报以下异常:

Caused by: org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here

Caused by: org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping
 
expected <block end>, but found '<block mapping start>'
 in 'reader', line 11, column 3:
      jpa:

产生问题的根源:application.yml一级键,空一格写就可以了。像Jpa这样是一级键,下属的database是二级键。

解决办法

Jpa向左前进一格到中间箭头的方位即可。

配置文件application.yml的注意事项

配置文件application.xml中的配置需要在对应的项后面加空格

这类似于

server:
  port: 8081
spring:
  mvc:
    view:
      prefix: /WEB-INF/jsp/
      suffix: .jsp
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/sunzy
    username: root
    password: root

还有一种配置是properties文件配置

K-V的形式进行配置:

#测试环境
merId=qy_000000031
url=http://localhost:9090/bdt.api/api

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

(0)

相关推荐

  • Springboot为什么加载不上application.yml的配置文件

    调试源代码,配置文件加载代码位置是: org.springframework.boot.context.config.ConfigFileApplicationListener public void postProcessEnvironment(ConfigurableEnvironment environment,SpringApplication application)方法 这个方法执行完,enviroment->propertySources从4个,变成6个,最终加载完成 先读取pro

  • springboot如何读取配置文件(application.yml)中的属性值

    在spring boot中,简单几步,读取配置文件(application.yml)中各种不同类型的属性值: 1.引入依赖: <!-- 支持 @ConfigurationProperties 注解 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId>

  • 详解springboot启动时是如何加载配置文件application.yml文件

    今天启动springboot时,明明在resources目录下面配置了application.yml的文件,但是却读不出来,无奈看了下源码,总结一下springboot查找配置文件路径的过程,能力有限,欢迎各位大牛指导!!! spring加载配置文件是通过listener监视器实现的,在springboot启动时: 在容器启动完成后会广播一个SpringApplicationEvent事件,而SpringApplicationEvent事件是继承自ApplicationEvent时间的,代码如下

  • SpringBoot读取properties或者application.yml配置文件中的数据

    读取application文件 在application.yml或者properties文件中添加: user.address=china user.company=demo user.name=让我康康 1.使用@Value注解读取 直接 代码如下: package im.homeapi.controller; import org.springframework.beans.factory.annotation.Value; import org.omg.CORBA.PUBLIC_MEMBE

  • Springboot如何获取配置文件application.yml中自定义的变量并使用

    前言:在写项目中我们经常要将同样的变量在不同的文件中写无数次,这样修改起来要一通好找,非常不方便,平常都会写一个工具类存入自己的变量进行调用取值,但是呢,懒得写咋办,写了还要注入,注入失败又得.........麻烦,有没有办法写在配置文件中直接自定义变量通过注解的方式取值呢?肯定有啊. 正文: 一.在application.yml中配置自己的变量比如: person: name: '张三' age: '年龄25' home: '拥有房子1套' car: '轿车1辆' 二.使用注解取值并且使用 i

  • 解决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时,明明在resources目录下面配置了application.yml的文件,但是却读不出来,无奈看了下源码,总结一下springboot查找配置文件路径的过程,能力有限,欢迎各位大牛指导!!! spring加载配置文件是通过listener监视器实现的,在springboot启动时: 在容器启动完成后会广播一个SpringApplicationEvent事件,而SpringApplicationEvent事件是继承自ApplicationEvent时间的,代码如下

  • 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文件数据库配置密码加密的方法

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

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

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

  • 解决springboot集成rocketmq关于tag的坑

    springboot集成rocketmq关于tag的坑 新项目使用springboot的若依框架集成rocketmq,选择集成RocketMQTemplate这种方式实现消息的发送和接收. 1.客户端发送代码 此处回调方法里有些业务不用关注,只关心发送方法 @Component public class RocketMqHelper { Logger logger = LoggerFactory.getLogger(RocketMqHelper.class); @Resource private

  • springboot如何读取application.yml文件

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

随机推荐