随笔 - 303  文章 - 0  评论 - 3  阅读 - 15万

Spring Boot基本配置之全局配置文件优先级

  前两篇介绍的application配置文件,即为spring boot全局配置文件。那么spring boot加载配置文件的时候,怎么确定加载哪个目录下哪个文件呢?

  spring boot默认的配置文件名为application.properties或application.yaml/application.yml。默认配置文件可放置如下四个位置:

            

   优先级顺序如图中所示,即:

          

   对于同目录下,存在后缀不同配置文件,以哪个为准呢?2.4.0版本以前:properties>yaml,以后yaml>properties。通过设置spring.config.use-legacy-processing可以修改同目录不同后缀配置文件是否生效。  

  以上是对于默认的配置文件名,那对于自定义配置文件名如何正确有效加载呢?实际上使用Spring Boot时,其通过自动配置机制在系统启动时就自动创建了PropertyPlaceHolderConfigurer的Bean(参考Spring EL和资源调用中基于配置文件加载资源),并默认从class目录下的配置文件中加载作为系统的默认配置。

  Spring中有个机制就是在项目中定义多个profile配置文件,文件命令格式为application-{profile}.propertyes/yml(Spring配置之常用配置概述中关于@profile的 使用)。当启动不同的环境时,Spring Boot可以从可行的配置文件中加载并负责默认的配置。比如,可以为开发环境定义applicaiton-dev.properties,为发布环境创建application-stage.properties文件;在启动时可以通过参数spring.profile/spring.config.name来指定所要启动的环境即可。

  假设配置文件名为myproject.conf,可以通过如下方式指定配置文件名称:

           java -jar XXX.jar --spring.config.name=myproject.conf。

  同时也可以指定其他位置的配置文件生效: java -jar XXX.jar --spring.config.location=projectlocation。

  

posted on   池塘里洗澡的鸭子  阅读(655)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示