springboot 应用程序的文件检索描述
SpringApplication從application.properties以下位置的文件加載屬性并將它們添加到Spring?Environment:
該列表按優(yōu)先順序排列(在列表中較高的位置定義的屬性將覆蓋在較低位置定義的屬性)。
如果您不喜歡application.properties作為配置文件名,則可以通過指定spring.config.name環(huán)境屬性來切換到另一個文件名。您還可以使用spring.config.location?環(huán)境屬性(逗號分隔的目錄位置或文件路徑列表)引用顯式位置。以下示例顯示如何指定不同的文件名稱:
$ java -jar myproject.jar --spring.config.name = myproject以下示例顯示如何指定兩個位置:
$ java -jar myproject.jar --spring.config.location = classpath:/default.properties,classpath:/override.properties| spring.config.name并且spring.config.location很早就用來確定哪些文件必須加載,因此必須將其定義為環(huán)境屬性(通常是OS環(huán)境變量,系統(tǒng)屬性或命令行參數(shù))。 |
如果spring.config.location包含目錄(而不是文件),它們應(yīng)該結(jié)束/(并且在運(yùn)行時加入從spring.config.name?加載之前生成的名稱,包括配置文件特定的文件名)。指定的文件?spring.config.location按原樣使用,不支持特定于配置文件的變體,并被特定于配置文件的特性覆蓋。
配置位置按相反順序搜索。默認(rèn)情況下,配置的位置是?classpath:/,classpath:/config/,file:./,file:./config/。結(jié)果搜索順序如下:
當(dāng)使用自定義配置位置進(jìn)行配置時spring.config.location,它們會替換默認(rèn)位置。例如,如果spring.config.location使用該值配置classpath:/custom-config/,file:./custom-config/,則搜索順序變?yōu)橐韵聝?nèi)容:
或者,使用自定義配置位置進(jìn)行配置時spring.config.addition-location,除了默認(rèn)位置以外,還會使用?它們。在默認(rèn)位置之前搜索其他位置。例如,如果classpath:/custom-config/,file:./custom-config/配置了其他位置,則搜索順序如下所示:
這種搜索順序使您可以在一個配置文件中指定默認(rèn)值,然后在另一個配置文件中有選擇地覆蓋這些值?您可以在其中一個默認(rèn)位置為您的應(yīng)用程序application.properties(或您選擇的其他基本名稱?spring.config.name)提供默認(rèn)值。這些默認(rèn)值可以在運(yùn)行時被置于其中一個自定義位置的不同文件覆蓋。
| 如果使用環(huán)境變量而非系統(tǒng)屬性,則大多數(shù)操作系統(tǒng)不允許使用句點(diǎn)分隔的鍵名稱,但可以使用下劃線(例如,SPRING_CONFIG_NAME而不是spring.config.name)。 |
| 如果您的應(yīng)用程序在容器中運(yùn)行,那么可以使用JNDI屬性(in?java:comp/env)或servlet上下文初始化參數(shù),而不是使用環(huán)境變量或系統(tǒng)屬性。 |
轉(zhuǎn)載于:https://www.cnblogs.com/xiaobaoTribe/p/7879772.html
總結(jié)
以上是生活随笔為你收集整理的springboot 应用程序的文件检索描述的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: git 转移
- 下一篇: iOS的推送证书过期的处理