- 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).
- Excel 2010在會計與財務管理日常工作中的應用
- OpenCV Computer Vision Application Programming Cookbook Second Edition
- 和秋葉一起學:秒懂WPS演示文稿
- Word 2003辦公應用實戰從入門到精通
- Excel 2013從新手到高手(超值版)
- Excel 2013實戰應用超級手冊
- 和秋葉一起學WPS Office
- 現用現查:電腦BIOS/注冊表設置實戰秘籍
- Excel數據透視表應用之道(雙色板)
- Excel人力資源應用之道
- Word/Excel/PPT從入門到精通
- 和秋葉一起學:秒懂PPT
- 掌中寶:Office辦公高手應用技巧
- WPS Office高效辦公一本通:文字·表格·演示·PDF·腦圖
- 極簡辦公:職場Word基礎課