javascript
springboot全局常量_Spring-Boot配置属性和环境变量的加载顺序
Spring-Boot使用很方便,創(chuàng)建系統(tǒng)時(shí),您絕對需要將“設(shè)置”和“程序”分開,在Java中,有一個(gè)名為application.property/yaml的屬性文件,但是你想在哪里找到該文件?不,你必須自己創(chuàng)建它。
Spring Boot允許您外部化配置,以便您可以在不同的環(huán)境中使用相同的應(yīng)用程序代碼。您可以使用屬性文件,YAML文件,環(huán)境變量和命令行參數(shù)來外部化配置。屬性值可以通過直接注射到你的bean?@Value注釋,通過Spring的訪問Environment抽象,或者被?綁定到結(jié)構(gòu)化對象通過@ConfigurationProperties。Spring Boot使用一種非常特殊的PropertySource順序,旨在允許合理地覆蓋值。按以下順序考慮屬性:
Devtools?主目錄上的全局設(shè)置屬性(當(dāng)devtools處于活動狀態(tài)時(shí),配置是~/.spring-boot-devtools.properties)。
properties屬性測試。可?用于測試特定應(yīng)用程序片段[url=https://docs.spring.io/spring-boot/docs/2.1.2.RELEASE/api/org/springframework/boot/test/context/SpringBootTest.html]@SpringBootTest[/url]的?測試注釋。
命令行參數(shù)。
來自SPRING_APPLICATION_JSON(嵌入在環(huán)境變量或系統(tǒng)屬性中的內(nèi)聯(lián)JSON)的屬性。
ServletConfig?init參數(shù)。
ServletContext?init參數(shù)。
JNDI屬性來自java:comp/env。
Java系統(tǒng)屬性(System.getProperties())。
OS環(huán)境變量。
一RandomValuePropertySource,只有在擁有性能random.*。
特定于配置文件的應(yīng)用程序?qū)傩栽诖虬膉ar(application-{profile}.properties和YAML變體)之外。
打包在jar中的特定于配置文件的應(yīng)用程序?qū)傩?application-{profile}.properties?以及YAML變體)。
打包jar之外的應(yīng)用程序?qū)傩?application.properties以及YAML變體)。
打包在jar中的應(yīng)用程序?qū)傩?application.properties和YAML變體)。
@PropertySource?你@Configuration班上的注釋。
默認(rèn)屬性(由設(shè)置指定SpringApplication.setDefaultProperties
下面從命令行參數(shù)開始:
命令行參數(shù)
$ ./gradlew bootRun -Pargs="--myapp.ldap.port=10389"
或
Java -jar -Dserver.port=10389
OS環(huán)境變量:
$ export MYAPP_LDAP_PORT=10389
application.yml
尋找順序:
當(dāng)前目錄下的/config?子目錄
當(dāng)前目錄
類路徑/config包
類路徑根root
總結(jié)
以上是生活随笔為你收集整理的springboot全局常量_Spring-Boot配置属性和环境变量的加载顺序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定义const变量是不可以赋值_Java
- 下一篇: vue点击按钮上传图片_关于javasc