SpringBoot开发【配置】外部配置加载顺序

除了从内部properties文件或者yml文件配置,也可以从一些外部文件进行配置,下面就来简单说一下有哪些外部配置

SpringBoot外部配置

SpringBoot也可以从以下位置加载配置;优先级从高到低;高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置

1.命令行参数
我们使用package打包,然后在端口用命令运行时,默认使用工程里的配置文件。当运维时,我们如果修改工程的内部文件会很麻烦,我们可以通过用外部命令行的形式来修改配置文件,详细见上一篇

多个配置用空格隔开;–配置项=值
SpringBoot开发【配置】外部配置加载顺序SpringBoot开发【配置】外部配置加载顺序
2.来自java:comp/env的INDI属性
3.Java系统属性( System.getPropertes() )
4.操作系统环境变量
5.RandomValuePropertySource配置的random.*属性值

由jar包外向jar包内寻找,高优先级覆盖低优先级
优先加载带profile
6.jar包外部的pplcation-profile}.properties或application.yml(带spring,profile)配置文件
7.jar包内部的aplicatiof-profle).properties或pplicatin.ym(带spring profile)配置文件

再来加载不带profile
8.Jar包外部的pplication.propertles或apllcation.yml(不带spring,profile)配置文件
9.jar包内部的application.propetes或pplcatin.ym(不带springprofil)配置文件

我们来试一下,把打好的jar包单独拿出来,放在一个文件加下,然后写一个properties文件,里面端口号为8087,与jar包放在同一个文件夹下,命令行运行,不用加其他命令
SpringBoot开发【配置】外部配置加载顺序SpringBoot开发【配置】外部配置加载顺序我们发现端口号改变了

[email protected]注解类上的@PropertySource
11.通过SpringAppiication.setDefaultProperties

还有一些配置方式平常不太用得到,详情参考官方文档