Externalizing environmental config using Java system properties
While environment variables could, on a rare occasion, be a hit or miss, the good old Java system properties can always be trusted to be there for you. In addition to using the Environment Variables and command-line arguments represented by the property names prefixed with a double dash (--
), Spring Boot provides you with the ability to use the plain Java System Properties to set or override the configuration properties.
This could be useful in a number of situations, particularly if your application is running in a container that sets certain values during the startup via the system properties that you want to get access to or if a property value is not set via a command-line –D
argument, but rather in some library via a code by calling System.setProperty(…)
, especially if this resides in a static method of sorts. While arguably these cases are rare, it takes only one to have you bend backwards in an effort to try and integrate...