public class SystemEnvironmentPropertySource extends MapPropertySource
MapPropertySource designed for use with
 system environment variables.
 Compensates for constraints in Bash and other shells that do not allow for variables
 containing the period character and/or hyphen character; also allows for uppercase
 variations on property names for more idiomatic shell use.
 For example, a call to getProperty("foo.bar") will attempt to find a value
 for the original property or any 'equivalent' property, returning the first found:
 
foo.bar - the original namefoo_bar - with underscores for periods (if any)FOO.BAR - original, with upper caseFOO_BAR - with underscores and upper caseThe same applies for calls to containsProperty(String), which returns
 true if any of the above properties are present, otherwise false.
 
This feature is particularly useful when specifying active or default profiles as environment variables. The following is not allowable under Bash:
spring.profiles.active=p1 java -classpath ... MyAppHowever, the following syntax is permitted and is also more conventional:
SPRING_PROFILES_ACTIVE=p1 java -classpath ... MyApp
Enable debug- or trace-level logging for this class (or package) for messages explaining when these 'property name resolutions' occur.
This property source is included by default in StandardEnvironment
 and all its subclasses.
StandardEnvironment, 
AbstractEnvironment.getSystemEnvironment(), 
AbstractEnvironment.ACTIVE_PROFILES_PROPERTY_NAMEPropertySource.StubPropertySourcelogger, name, source| Constructor and Description | 
|---|
| SystemEnvironmentPropertySource(String name,
                               Map<String,Object> source)Create a new  SystemEnvironmentPropertySourcewith the given name and
 delegating to the givenMapPropertySource. | 
| Modifier and Type | Method and Description | 
|---|---|
| boolean | containsProperty(String name)Return  trueif a property with the given name or any underscore/uppercase variant
 thereof exists in this property source. | 
| Object | getProperty(String name)This implementation returns  trueif a property with the given name or
 any underscore/uppercase variant thereof exists in this property source. | 
| protected boolean | isSecurityManagerPresent() | 
| protected String | resolvePropertyName(String name)Check to see if this property source contains a property with the given name, or
 any underscore / uppercase variation thereof. | 
getPropertyNamespublic boolean containsProperty(String name)
true if a property with the given name or any underscore/uppercase variant
 thereof exists in this property source.containsProperty in class MapPropertySourcename - the name of the property to find@Nullable public Object getProperty(String name)
true if a property with the given name or
 any underscore/uppercase variant thereof exists in this property source.getProperty in class MapPropertySourcename - the property to findPropertyResolver.getRequiredProperty(String)protected final String resolvePropertyName(String name)
null.protected boolean isSecurityManagerPresent()