时间:2021-05-20
调试源代码,配置文件加载代码位置是:
org.springframework.boot.context.config.ConfigFileApplicationListener
public void postProcessEnvironment(ConfigurableEnvironment environment,SpringApplication application)方法
这个方法执行完,enviroment->propertySources从4个,变成6个,最终加载完成
先读取property,再读取xml,最后是yml文件
读取文件的代码在方法
private void load(String location, String name, Profile profile,DocumentFilterFactory filterFactory, DocumentConsumer consumer)中
462行(spring-boot-2.0.1-RELEASE版)
500行 Resource resource = this.resourceLoader.getResource(location);打断点调试,看能否读取配置文件正确路径
如果配置文件在resources下,location变量应该为classpath:/application.yml
在IDE环境错误的情况下,Spring找不到这个文件!!!
可以在调试中通过this.resourceLoader.getResource("classpath:/application.yml").getURI()进行测试,找不到就是IDE有问题或工程有问题。
这种问题比较麻烦,谁知道ide到底出了什么问题?一般工程设置了resources会自动将resources加入classpath,如果实在没有手动将resources加入classpath就完成了,唯一的问题是用vcs同步开发的时候比较痛苦。
PS:SpringBoot的application.yml没有生效
SpringBoot的application.yml没有生效
这里配置了
<packaging>pom</packaging>造成的,删除问题解决
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Springboot的默认配置文件为:application.properties或者是application.yml如果这两个配置文件都存在,不冲突的话,就互
SpringBoot默认加载的是application.yml文件,所以想要引入其他配置的yml文件,就要在application.yml中激活该文件定义一个a
内部配置加载顺序SpringBoot启动会扫描以下位置的application.properties或者application.yml文件作为Springboo
SpringBoot中默认使用Logback进行日志输出,可以同时使用SpringBoot框架的配置文件application.yml或是通过logback的配
springboot启动时自动加载application.properties或者application.yml,如何定义自己的配置让springboot自动识