Class StandardEnvironment
- java.lang.Object
- org.springframework.core.env.AbstractEnvironment
- org.springframework.core.env.StandardEnvironment
- All Implemented Interfaces:
ConfigurableEnvironment
,ConfigurablePropertyResolver
,Environment
,PropertyResolver
- Direct Known Subclasses:
StandardPortletEnvironment
,StandardServletEnvironment
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
That is, if the key "xyz" is present both in the JVM system properties as well as in the set of environment variables for the current process, the value of key "xyz" from system properties will return from a call toConfigurableEnvironment
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 fromAbstractEnvironment.getPropertySources()
. SeeConfigurableEnvironment
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.- Since:
- 3.1
- Author:
- Chris Beams
- See Also:
ConfigurableEnvironment
,SystemEnvironmentPropertySource
,StandardServletEnvironment
Field Summary
Fields Modifier and Type Field 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"Fields inherited from class org.springframework.core.env.AbstractEnvironment
ACTIVE_PROFILES_PROPERTY_NAME, DEFAULT_PROFILES_PROPERTY_NAME, IGNORE_GETENV_PROPERTY_NAME, logger, RESERVED_DEFAULT_PROFILE_NAME
Constructor Summary
Constructors Constructor Description StandardEnvironment()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
customizePropertySources(MutablePropertySources propertySources)
Customize the set of property sources with those appropriate for any standard Java environment: "systemProperties""systemEnvironment"Methods inherited from class org.springframework.core.env.AbstractEnvironment
acceptsProfiles, addActiveProfile, containsProperty, doGetActiveProfiles, doGetDefaultProfiles, getActiveProfiles, getConversionService, getDefaultProfiles, getProperty, getProperty, getProperty, getProperty, getPropertyAsClass, getPropertySources, getRequiredProperty, getRequiredProperty, getReservedDefaultProfiles, getSystemEnvironment, getSystemProperties, isProfileActive, merge, resolvePlaceholders, resolveRequiredPlaceholders, setActiveProfiles, setConversionService, setDefaultProfiles, setIgnoreUnresolvableNestedPlaceholders, setPlaceholderPrefix, setPlaceholderSuffix, setRequiredProperties, setValueSeparator, suppressGetenvAccess, toString, validateProfile, validateRequiredProperties
Field Detail
SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME
public static final String SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME
System environment property source name: "systemEnvironment"- See Also:
- Constant Field Values
SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME
public static final String SYSTEM_PROPERTIES_PROPERTY_SOURCE_NAME
JVM system properties property source name: "systemProperties"- See Also:
- Constant Field Values
Constructor Detail
StandardEnvironment
public StandardEnvironment()
Method Detail
customizePropertySources
protected void customizePropertySources(MutablePropertySources propertySources)
Customize the set of property sources with those appropriate for any standard Java environment:Properties present in "systemProperties" will take precedence over those in "systemEnvironment".