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