控制台报错信息:
01:25:43.686 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application.yml'
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:549)
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.loadForFileExtension(ConfigFileApplicationListener.java:500)
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.load(ConfigFileApplicationListener.java:468)
at org.springframework.boot.context.config.ConfigFileApplicationListener$Loader.lambda$null$6(ConfigFileApplicationListener.java:450)
at java.lang.Iterable.forEach(Iterable.java:75)
可以看出提示application.yml有问题。
场景一:yml的语法格式有误
application.yml:
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
datasource:
type: com.alibaba.druid.pool.DruidDataSource
解决方法:修改后的application.yml:
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
username: root
password: 123456
url: jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8
type: com.alibaba.druid.pool.DruidDataSource
ps:校验yml语法
注:注意缩进
控制台并无异常,成功运行。
场景二:application.yml文件格式问题
application.yml 配置文件内容:
spring:
datasource:
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8
username: root
password: 123456
servlet:
multipart:
max-file-size: 5MB # 限制文件上传的大小
从配置文件中可以看出语法并无问题。
解决办法:
1、File-->Settings-->File Encodings
这三个地方设置成UTF-8格式。重启启动项目。
2、如第一步并未解决问题,则可以用第二步(终极杀招)。
删除application.yml文件中所有中文注释。