大家好,我是鸭鸭!

此答案节选自鸭鸭最近弄的面试鸭小程序,更多大厂常问面试题,可以点击下面的小程序进行阅读哈!

目前这个面试刷题小程序刚出,详细可以看这篇文章:这次,终于不用再被八股文吊打了!

回归面试题!

直接上答案!

application.propertiesapplication.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

我是鸭鸭,我们下期见~

本篇文章来源于微信公众号: 面试鸭



微信扫描下方的二维码阅读本文

此作者没有提供个人介绍
最后更新于 2024-08-01