报错信息:spring boot Could not resolve placeholder xxx
1.检查配置文件,发现配置信息是存在的,在检查环境变量,发现配置文件匹配的确也没错
2.检查yml配置文件的编码格式
3.检查pom的resource标签
4.检查build-path
5.看读取源码有没有什么发现?
以上都检查完了,问题没有解决;从根源上出发吧,spring是如何加载yml的;
spring通过listen启东时广播一个SpringApplicationEvent事件;ConfigFileApplicationListener是SpringApplicationEvent的实现;
先查找.yml,.properties结尾的默认文件名称(application)进行读取配置,
在对.yml,.properties进行application-xxx的进行读取配置;
PS:调试中发现读取的文件都是空…(也的确符合我问题现象)
6.检查打包后的文件
maven打包后进行文件jar打包查看,发现的确配置文件都没有打入到jar中。
查看maven依赖。。。缺少自动注入依赖。。
添加如下依赖,
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
在启动。。已经能找到配置了!
原文链接:https://blog.csdn.net/z6165039/article/details/99632629