- Mastering Spring Boot 2.0
- Dinesh Rajput
- 422字
- 2021-06-25 21:29:15
Order of evaluation for overridden properties
Let's see the following order of evaluation for overridden properties:
- Defined properties for the Devtools global settings in your home directory
- Defined properties for @TestPropertySource annotations on your tests
- Properties as command-line arguments
- Defined properties from SPRING_APPLICATION_JSON
- The properties with ServletConfig init parameters
- The properties with ServletContext init parameters
- JNDI attributes from java:comp/env
- Java system properties
- OS environment variables
- Property file(s)—including application.properties and its YAML variant
This preceding list is in order of precedence. That means if you set any property from a source higher in the list, Spring will override the same property defined in the source lower in the list. The test environment and command-line arguments override properties from any other property source.
Let's see the following order of evolution of the properties file and YAML variants:
- A RandomValuePropertySource class that injects properties with random value into configuration file define as random.*
- Profile-specific application properties outside of your packaged JAR, that is, in the /config subdirectory of the directory from which the application is run (application-{profile}.properties and YAML variants)
Select a profile by executing the JAR with param Dspring.profiles.active=dev or setting the property spring.profiles.active=dev.
- Profile-specific application properties outside of your packaged JAR but in a directory from which the application is run (application-{profile}.properties and YAML variants)
- Profile-specific application properties packaged inside your JAR but in a package named config (application-{profile}.properties and YAML variants)
- Profile-specific application properties packaged inside your JAR but at the root of the classpath (application-{profile}.properties and YAML variants)
- Application properties outside of your packaged JAR, that is, in the /config subdirectory of the directory from which the application is run (application.properties and YAML variants)
- Application properties outside of your packaged JAR but in a directory from which the application is run (application.properties and YAML variants)
- Application properties packaged inside your JAR but in a package named config (application.properties and YAML variants)
- Application properties packaged inside your JAR but at the root of the classpath (application.properties and YAML variants)
- @PropertySource annotations on your @Configuration classes
- Default properties (specified using SpringApplication.setDefaultProperties)
According to the order of precedence, if you set any properties in a profile-specific application-{profile}.properties will override the same properties set in an application.properties file at the same location as the application-{profile}.properties file.
Again, this list is in order of precedence. That is, an application.properties file in a /config subdirectory will override the same properties set in a application.properties file in the application's classpath.
Let's see how to customize the name of the application property file (application.properties).
- 虛擬桌面移動辦公技術
- Articulate Studio Cookbook
- Excel從小白到小能手
- Docker技術入門與實戰
- Unity 2018 AR與VR開發快速上手
- Excel 2016表格、公式、函數與圖表應用傻瓜書
- Excel 2013超級應用大全(實戰案例版)
- 和秋葉一起學:秒懂WPS文字處理
- 中文PowerPoint 2003應用基礎
- 辦公自動化教程(第2版)
- PowerPoint!讓教學更精彩:PPT課件高效制作(全彩)
- Excel 2010高效辦公:會計實務與財務管理
- Excel商務數據分析與應用(慕課版·第2版)
- Word/Excel/PowerPoint 2013三合一從新手到高手(超值版)
- PPT 2010設計技巧精粹(雙色精華版)