SpringBoot实践(二)配置文件加载顺序

根据官方文档上面来说,属性的配置可以在好多地方,加载的优先级按如下的顺序来分:


1:有使用devtools,devtools 全局设置的属性(用户目录 ~/.spring-bootdevtools.properties)

2:测试类的@TestPropertySource注解

3:测试类的属性@SpringBootTest#properties注解

4:命令行参数(启动springbot项目的时候设置在命令行的参数)

5: 来自SPRING_APPLICATION_JSON中的属性(嵌入到环境变量中的内联JSON或系统属性)。

6:ServletConfig初始化参数

7:ServletContext初始化参数

8:JNDI参数  Java:comp/env

9:Java系统属性  System.getProperties()

10:操作系统的环境变量

11:RandomValuePropertySource配置的属性random.*

12:jar包外部的applictaion-{profile}.properties,applictaion-{profile}.yml配置文件

13:jar包内部的applictaion-{profile}.properties,applictaion-{profile}.yml配置文件

14:jar包外部的applictaion.properties,applictaion.yml配置文件

15:jar包内部的applictaion.properties,applictaion.yml配置文件

    16:@Configuration类上的 @PropertySource注解指定的配置文件

    17:默认属性: SpringApplication.setDefaultProperties


对于我们开发来说,最常用的就是.propertes和.yml文件了。今天说一下这些配置所在的位置不同,优先级也会不同的问题。

一:对于applictaion-{profile}.properties,applictaion-{profile}.yml和applictaion.properties,applictaion.yml文件来说

它们的优先级,无论文件在那个位置(resource,resource/config,jar包的当前目录下,jar包下面的config文件夹下)都是applictaion-{profile}.properties,applictaion-{profile}.yml的优先级高。

二:对于外部和内部来说,都会有一个config的文件或者没有,最好还是加上因为这样文件多了可以分不同的文件内容管理,对于config内部的和外部的同名的文件,config内部的文件优先级高,注意:是同名的文件,因为这还要注意第一条的内容。

对于jar来说是同样的。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姑苏冷

您的打赏是对原创文章最大的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值