配置文件加載位置
SpringBoot 會從application.properties或者application.yml中加載配置信息。這兩個文件的名稱是固定的。這兩個文件是SpringBoot的默認配置文件。
配置文件的優先級
(當前項目路徑)file:../config/
(當前項目路徑)file:../
(類路徑)classpath:/config/
(類路徑)classpath:/
優先級:高到低。有先讀取優先級高的配置文件的配置信息。
如無意外,一般都把配置文件放在classpath路徑下。
可以通過spring.config.location來改變默認配置文件。(通過命令行參數來實現,將指定位置的配置文件與默認配置文件組成互補配置)。
外部配置加載順序
//按照優先級:從高到低覆蓋
1.命令行參數
java -jar xxxxx.jar --spring.port=xxxx(多個參數用空格分隔)
2.來自java:comp/env的JNDI
第三方jndi屬性
3.java系統屬性,System類的getProperties()
java虛擬機中的屬性
4.操作系統環境變量
5.RandomValuePropertySource配置的random.*屬性值
(以下,優先加載帶profile的)
6.jar包外部的application-{proile}.properties或者application.yml(帶有srping.profile)配置文件
7.jar包內部的application-{proile}.properties或者application.yml(帶有srping.profile)配置文件
8.jar包外部的application-{proile}.properties或者application.yml(不帶有srping.profile)配置文件
9.jar包內部的application-{proile}.properties或者application.yml(不帶有srping.profile)配置文件
10.被@Configuration註解標註類上的PropertySource
11.通過SpringApplication.setDefaultProperties指定的默認屬性。