大家好,我是鸭鸭!
此答案节选自鸭鸭最近弄的面试鸭小程序,更多大厂常问面试题,可以点击下面的小程序进行阅读哈!
目前这个面试刷题小程序刚出,详细可以看这篇文章:这次,终于不用再被八股文吊打了!
回归面试题!
直接上答案!
当application.properties
和application.yml
同时存在,同样的参数,最终生效的是application.properties
中的配置。
所以如果项目里因为一些“逆天”原因,导致同时存在这两个配置,那么就要小心覆盖问题了!当然,移除其中一个配置文件才是最佳处理方案!
再扩展下 Spring Boot 在启动时加载配置属性的顺序,可参考如下的官方文档:
从上到下,优先级逐渐降低,即下面的配置,同样的参数会被上面的配置所覆盖。
简单优先级:
命令行参数 > JAR包外面的 application-{profile}.properties
> JAR包内的 application-{profile}.properties
> JAR包外的 application.properties
> JAR包内的 application.properties
扩展 bootstrap 和 application 配置文件知识:
boostrap 由父 ApplicationContext 加载,比 applicaton 优先加载,且它里面的内容不会被覆盖!
比如一些配置中心的配置,需要填写在 boostrap 中,父上下文先去配置中心获取额外的一些配置,然后再启动 SpringBoot 上下文。
最后
今晚 19.30 会在抖y平台进行模拟面试直播,包含简历指导、学习路线规划以及八股文的拷打,有兴趣的小伙伴直接抖音搜【编程导航】,或保存下方图片,打开抖y扫描下方二维码:
最后再推荐下鸭鸭目前努力在做面试小程序神器,已经有 3000 多道面试题目啦,欢迎大家来阅读!如果大家有不会的面试题,也可以在小程序内反馈!鸭鸭会第一时间为大家解答!
除了小程序版本,我们 web 端也上线啦:www.mianshiya.com
我是鸭鸭,我们下期见~
本篇文章来源于微信公众号: 面试鸭
微信扫描下方的二维码阅读本文
Comments NOTHING