1. 程式人生 > >SpringBoot_外部配置載入順序

SpringBoot_外部配置載入順序

官方文件地址

SpringBoot也可以從以下位置載入配置; 優先順序從高到低(1~11);高優先順序的配置覆蓋低優先順序的配置,所有的配置會形成互補配置

  1. 命令列引數
    所有的配置都可以在命令列上進行指定
    例如:
    java -jar spring-boot-02-config-02-0.0.1-SNAPSHOT.jar --server.port=8087 --server.context-path=/abc
    多個配置用空格分開; --配置項=值
  2. 來自java:comp/env的JNDI屬性
  3. Java系統屬性(System.getProperties())
  4. 作業系統環境變數
  5. RandomValuePropertySource配置的random.*屬性值

由jar包外向jar包內進行尋找;
優先載入帶profile的

  1. jar包外部的application-{profile}.properties或application.yml(帶spring.profile)配置檔案
    在這裡插入圖片描述
  2. jar包內部的application-{profile}.properties或application.yml(帶spring.profile)配置檔案

再來載入不帶profile

  1. jar包外部的application.properties或application.yml(不帶spring.profile)配置檔案

  2. jar包內部的application.properties或application.yml(不帶spring.profile)配置檔案

  3. @Configuration註解類上的@PropertySource

  4. 通過SpringApplication.setDefaultProperties指定的預設屬性