Springboot -Properties配置优先级

541 阅读2分钟

这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战

SpringBoot中采用了大量的自动化配置,但是我们们不可避免的仍然是你自己配置一些东西,理论是跟不上实际需求的,而这些配置就需要自定义,自定义配置的文件就是resource目录下application.properties文件,当然也可以使用yaml配置来替代. Springboot项目中application.properties文件一共可以出现在以下四个位置.分别是:

  1. 项目根目录下的config文件夹
  2. 项目根目录下
  3. classpath下的config文件夹
  4. classpath路径下 上图说明情况:

image.png 图中的红色数字代表着Springboot项目加载配置稳健的优先级,一位最先,四位最后,Springboot将按照这个优先级将查找到的配置信息,加载到SpringEnvironment中. 当然,如果你使用的不是properties的配置文件,使用的是yaml的配置文件,Springboot对它的加载顺序也是相同的,都实现从项目下的config->项目下->类路径下的config->类路径下. 默认情况下,Springboot按照上图的的顺序依次查询并加载,如果你觉得application.properties,这个名字太长了,想自定义名字也是可以的.比如在类路径下创建一个名为app的配置文件,那门你可以打包成jar包,使用以下命令:

java -jar 项目快照名.jar --Spring.config.name=app 也可以使用以下命令来指定配置文件的的所在目录,记得要以/结尾 java -jar 项目快照名.jar --Spring.config.name=app --spring.config.location=classpath:/ OK,目前来说就是这样,以前只知道配置文件放在类路径下,现在知道一共可以放在四个位置,又学到了.水平有限,有问题请指出,不胜感激,谢谢.