public class StandardEnvironment extends AbstractEnvironment
Environment
implementation suitable for use in 'standard' (i.e. non-web)
applications.
In addition to the usual functions of a ConfigurableEnvironment
such as
property resolution and profile-related operations, this implementation configures two
default property sources, to be searched in the following order:
environment.getProperty("xyz")
.
This ordering is chosen by default because system properties are per-JVM, while
environment variables may be the same across many JVMs on a given system. Giving
system properties precedence allows for overriding of environment variables on a
per-JVM basis.
These default property sources may be removed, reordered, or replaced; and
additional property sources may be added using the MutablePropertySources
instance available from AbstractEnvironment.getPropertySources()
. See
ConfigurableEnvironment
Javadoc for usage examples.
See SystemEnvironmentPropertySource
javadoc for details on special handling
of property names in shell environments (e.g. Bash) that disallow period characters in
variable names.
ConfigurableEnvironment
,
SystemEnvironmentPropertySource
,
StandardServletEnvironment
Modifier and Type | Field and Description |
---|---|
static String |
SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME
System environment property source name: "systemEnvironment".
|
static String |
SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME
JVM system properties property source name: "systemProperties".
|
ACTIVE_PROFILES_PROPERTY_NAME, DEFAULT_PROFILES_PROPERTY_NAME, IGNORE_GETENV_PROPERTY_NAME, logger, RESERVED_DEFAULT_PROFILE_NAME
Modifier | Constructor and Description |
---|---|
|
StandardEnvironment()
Create a new
StandardEnvironment instance. |
protected |
StandardEnvironment(MutablePropertySources propertySources)
Create a new
StandardEnvironment instance with a specific MutablePropertySources instance. |
Modifier and Type | Method and Description |
---|---|
protected void |
customizePropertySources(MutablePropertySources propertySources)
Customize the set of property sources with those appropriate for any standard
Java environment:
"systemProperties"
"systemEnvironment"
|
acceptsProfiles, acceptsProfiles, addActiveProfile, containsProperty, createPropertyResolver, doGetActiveProfiles, doGetActiveProfilesProperty, doGetDefaultProfiles, doGetDefaultProfilesProperty, getActiveProfiles, getConversionService, getDefaultProfiles, getProperty, getProperty, getProperty, getProperty, getPropertyResolver, getPropertySources, getRequiredProperty, getRequiredProperty, getReservedDefaultProfiles, getSystemEnvironment, getSystemProperties, isProfileActive, merge, resolvePlaceholders, resolveRequiredPlaceholders, setActiveProfiles, setConversionService, setDefaultProfiles, setIgnoreUnresolvableNestedPlaceholders, setPlaceholderPrefix, setPlaceholderSuffix, setRequiredProperties, setValueSeparator, suppressGetenvAccess, toString, validateProfile, validateRequiredProperties
public static final String SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME
public static final String SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME
public StandardEnvironment()
StandardEnvironment
instance.protected StandardEnvironment(MutablePropertySources propertySources)
StandardEnvironment
instance with a specific MutablePropertySources
instance.propertySources
- property sources to useprotected void customizePropertySources(MutablePropertySources propertySources)
Properties present in "systemProperties" will take precedence over those in "systemEnvironment".