类 SystemEnvironmentPropertySource
java.lang.Object
cn.taketoday.core.env.PropertySource<T>
cn.taketoday.core.env.EnumerablePropertySource<Map<String,Object>>
cn.taketoday.core.env.MapPropertySource
cn.taketoday.core.env.SystemEnvironmentPropertySource
Specialization of
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 case
The 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:
context.profiles.active=p1 java -classpath ... MyAppHowever, the following syntax is permitted and is also more conventional:
CONTEXT_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.
- 从以下版本开始:
- 4.0
- 作者:
- Chris Beams, Juergen Hoeller
- 另请参阅:
-
嵌套类概要
从类继承的嵌套类/接口 cn.taketoday.core.env.PropertySource
PropertySource.StubPropertySource -
字段概要
从类继承的字段 cn.taketoday.core.env.PropertySource
name, source -
构造器概要
构造器构造器说明SystemEnvironmentPropertySource(String name, Map<String, Object> source) Create a newSystemEnvironmentPropertySourcewith the given name and delegating to the givenMapPropertySource. -
方法概要
修饰符和类型方法说明booleancontainsProperty(String name) Returntrueif a property with the given name or any underscore/uppercase variant thereof exists in this property source.getProperty(String name) This implementation returnstrueif a property with the given name or any underscore/uppercase variant thereof exists in this property source.protected final StringresolvePropertyName(String name) Check to see if this property source contains a property with the given name, or any underscore / uppercase variation thereof.从类继承的方法 cn.taketoday.core.env.MapPropertySource
getPropertyNames
-
构造器详细资料
-
SystemEnvironmentPropertySource
Create a newSystemEnvironmentPropertySourcewith the given name and delegating to the givenMapPropertySource.
-
-
方法详细资料
-
containsProperty
Returntrueif a property with the given name or any underscore/uppercase variant thereof exists in this property source.- 覆盖:
containsProperty在类中MapPropertySource- 参数:
name- the name of the property to find
-
getProperty
This implementation returnstrueif a property with the given name or any underscore/uppercase variant thereof exists in this property source.- 覆盖:
getProperty在类中MapPropertySource- 参数:
name- the property to find- 另请参阅:
-
resolvePropertyName
Check to see if this property source contains a property with the given name, or any underscore / uppercase variation thereof. Return the resolved name if one is found or otherwise the original name. Never returnsnull.
-