SpringBoot配置文件优先级加载顺序

配置文件优先级从高到低顺序↓

  • file:./config/ - 优先级最高(项目根路径下的config
  • file:./ - 优先级第二 -(项目根路径下)
  • classpath:/config/ - 优先级第三(项目resources/config下)
  • classpath:/ - 优先级第四(项目resources根目录)

SpringBoot项目启动会去扫面项目以上目录位置的application.ymlapplication.properties文件

以上位置的application.ymlapplication.properties遵循:

  • 高优先级配置会覆盖低优先级配置

  • 多个配置文件互补

    • 比如,两个同名文件里面有相同的配置,相同的配置会被高优先级的配置覆盖

    A配置优先级大于B配置

    server:
    	port: 8080
    

    B配置优先级小于A配置

    server: 
    	port: 8081
    	context-path: /test
    

    项目启动后访问地址为:http://localhost:8080/test,这就是所谓的互补


项目打包运行后可通过命令指定配置文件位置

--spring.config.location=d:/application.properties
  • 实例
java -jar demo-xxx.jar --spring.config.location=d:/application.properties

这对于运维来说非常方便,在不破坏原配置情况下轻松修改少量配置就可以达到想要的效果

你可能感兴趣的:(web开发)