springboot配置文件加载顺序

一、springboot配置文件加载顺序,从高到底,序号越小优先级越高

启动命令配置 优先于 环境变量配置 优先于 jar包的不同环境的配置 优先于 默认配置文件的配置 优先于 注解注入的配置 优先于 应用默认配置

通常使用jar包的外部配置+内部配置的方式:外部配置配置环境相关属性,内部配置配置通用的属性。

1、命令行传入的参数  如:java -jar --server port=8888

2、SPRING_ APPLICATION _JSON中的属性。SPRING_ APPLICATION_ JSON是以JSON格式配置在系统环境变量中的内容。

3、java:comp/env 中的JNDI属性。

4、Java 的系统属性,可以通过System. getProperties ()获得的内容。

5、操作系统的环境变量。

6、通过random. *配置的随机属性.

7、 位于当前应用jar 包之外,针对不同{profile}环境的配置文件内容,例如applicat ion-{profile} .properties或是YAML定义的配置文件。

8、 位于当前应用jar包之内,针对不同{profile}环境的配置文件内容,例如application-{profile}. properties或是YAML定义的配置文件。

9、 位于当前应用jar包之外的application. properties和YAML配置内容。

10、位于当前应用jar包之内的application.properties和YAML配置内容。

11、在@Configuration注解修改的类中,通过@PropertySource注解定义的属性。

12、应用默认属性,使用SpringApplication. setDefaultProperties定义的内容。

 

二、application.propertiesapplication.yml文件能放在以下四个位置

例子:linux服务器上部署了一个服务,目录为/app/springbootProject/####.jar      /app/springbootProject/bin    /app/springbootProject/config    /app/springbootProject/log

1、外置,在相对于应用程序运行目录的 /config 子目录里。
2、外置,在应用程序运行的目录里。
3、内置,在打包的jar包的 config 包内。
4、内置,在打包的jar包的Classpath根目录。(项目的 resources 文件)
 
同样,这个列表按照优先级排序。也就是说, /config 子目录里的 application.properties会覆盖应用程序 Classpath 里的 application.properties 中的相同属性。
 
此外,如果你在同一优先级位置同时有 application.properties application.yml ,那么application.yml 里的属性会覆盖 application.properties 里的属性。
 

三、springboot各种配置文件的加载顺序

续集。。。

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值