springboot-配置文件优先级

 

内部

  1. file:./config
  2. file:/
  3. classespath:/config/
  4. classpath:/

springboot-配置文件优先级_第1张图片

配置覆盖

    不论优先级如何,spring都会读取,相互之间不会排斥,但是会覆盖。

    对于不同的配置项,每个配置文件都会反映到springBoot。

    相同配置项,高优先级配置文件的内容会覆盖低优先级的配置,低优先级配置不会生效。

额外配置

spring.config.location=G:code/application.properties
# 1. 打包后运行,会加载外部指定路径下的配置文件,与包内配置共同作用
# 2. ide运行不生效,命令行参数启用
java -jar demo.jar --spring.config.location=G:code\application.properties
# 3. 指定位置配置文件优先级高于包内配置文件

整体加载优先级

命令行配置

java -jar demo.jar --server.port=8888

# 多属性配置
java -jar demo.jar --server.context-path=/fuck --server.port=9999

内部配置

系统属性

System.setproperties("server.port","8080")

profile

1. 
application-{profile}.properties
application-{profile}.yml

2. 
application.yml
application.properties

外部配置

1. 
application-{profile}.properties
application-{profile}.yml

2. 
application.yml
application.properties

其他

互补

    所有配置文件没有直接启用,但是也没有弃用一说。

    全部的配置文件都会进行加载,不同的配置项都能够得到使用。

    仅当有相同配置时,才会采用优先级较高的配置内容。

官方

    官方文档更丰富。(24. Externalized Configuration)

 

 

你可能感兴趣的:(springBoot)