类 AbstractPropertyResolver
- java.lang.Object
- org.springframework.core.env.AbstractPropertyResolver
- 所有已实现的接口:
ConfigurablePropertyResolver
,PropertyResolver
public abstract class AbstractPropertyResolver extends Object implements ConfigurablePropertyResolver
Abstract base class for resolving properties against any underlying source.- 从以下版本开始:
- 3.1
- 作者:
- Chris Beams, Juergen Hoeller
构造器概要
构造器 构造器 说明 AbstractPropertyResolver()
方法概要
所有方法 实例方法 抽象方法 具体方法 已过时的方法 修饰符和类型 方法 说明 boolean
containsProperty(String key)
Return whether the given property key is available for resolution, i.e. if the value for the given key is notnull
.protected <T> T
convertValueIfNecessary(Object value, Class<T> targetType)
Convert the given value to the specified target type, if necessary.ConfigurableConversionService
getConversionService()
Return theConfigurableConversionService
used when performing type conversions on properties.String
getProperty(String key)
Return the property value associated with the given key, ornull
if the key cannot be resolved.<T> T
getProperty(String key, Class<T> targetType, T defaultValue)
Return the property value associated with the given key, ordefaultValue
if the key cannot be resolved.String
getProperty(String key, String defaultValue)
Return the property value associated with the given key, ordefaultValue
if the key cannot be resolved.<T> Class<T>
getPropertyAsClass(String key, Class<T> targetValueType)
已过时。protected abstract String
getPropertyAsRawString(String key)
Retrieve the specified property as a raw String, i.e. without resolution of nested placeholders.String
getRequiredProperty(String key)
Return the property value associated with the given key (nevernull
).<T> T
getRequiredProperty(String key, Class<T> valueType)
Return the property value associated with the given key, converted to the given targetType (nevernull
).protected String
resolveNestedPlaceholders(String value)
Resolve placeholders within the given string, deferring to the value ofsetIgnoreUnresolvableNestedPlaceholders(boolean)
to determine whether any unresolvable placeholders should raise an exception or be ignored.String
resolvePlaceholders(String text)
Resolve ${...} placeholders in the given text, replacing them with corresponding property values as resolved byPropertyResolver.getProperty(java.lang.String)
.String
resolveRequiredPlaceholders(String text)
Resolve ${...} placeholders in the given text, replacing them with corresponding property values as resolved byPropertyResolver.getProperty(java.lang.String)
.void
setConversionService(ConfigurableConversionService conversionService)
Set theConfigurableConversionService
to be used when performing type conversions on properties.void
setIgnoreUnresolvableNestedPlaceholders(boolean ignoreUnresolvableNestedPlaceholders)
Set whether to throw an exception when encountering an unresolvable placeholder nested within the value of a given property.void
setPlaceholderPrefix(String placeholderPrefix)
Set the prefix that placeholders replaced by this resolver must begin with.void
setPlaceholderSuffix(String placeholderSuffix)
Set the suffix that placeholders replaced by this resolver must end with.void
setRequiredProperties(String... requiredProperties)
Specify which properties must be present, to be verified byConfigurablePropertyResolver.validateRequiredProperties()
.void
setValueSeparator(String valueSeparator)
Specify the separating character between the placeholders replaced by this resolver and their associated default value, ornull
if no such special character should be processed as a value separator.void
validateRequiredProperties()
Validate that each of the properties specified byConfigurablePropertyResolver.setRequiredProperties(java.lang.String...)
is present and resolves to a non-null
value.从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
从接口继承的方法 org.springframework.core.env.PropertyResolver
getProperty
构造器详细资料
AbstractPropertyResolver
public AbstractPropertyResolver()
方法详细资料
getConversionService
public ConfigurableConversionService getConversionService()
从接口复制的说明:ConfigurablePropertyResolver
Return theConfigurableConversionService
used when performing type conversions on properties.The configurable nature of the returned conversion service allows for the convenient addition and removal of individual
Converter
instances:ConfigurableConversionService cs = env.getConversionService(); cs.addConverter(new FooConverter());
setConversionService
public void setConversionService(ConfigurableConversionService conversionService)
从接口复制的说明:ConfigurablePropertyResolver
Set theConfigurableConversionService
to be used when performing type conversions on properties.Note: as an alternative to fully replacing the
ConversionService
, consider adding or removing individualConverter
instances by drilling intoConfigurablePropertyResolver.getConversionService()
and calling methods such as#addConverter
.
setPlaceholderPrefix
public void setPlaceholderPrefix(String placeholderPrefix)
Set the prefix that placeholders replaced by this resolver must begin with.The default is "${".
setPlaceholderSuffix
public void setPlaceholderSuffix(String placeholderSuffix)
Set the suffix that placeholders replaced by this resolver must end with.The default is "}".
setValueSeparator
public void setValueSeparator(String valueSeparator)
Specify the separating character between the placeholders replaced by this resolver and their associated default value, ornull
if no such special character should be processed as a value separator.The default is ":".
setIgnoreUnresolvableNestedPlaceholders
public void setIgnoreUnresolvableNestedPlaceholders(boolean ignoreUnresolvableNestedPlaceholders)
Set whether to throw an exception when encountering an unresolvable placeholder nested within the value of a given property. Afalse
value indicates strict resolution, i.e. that an exception will be thrown. Atrue
value indicates that unresolvable nested placeholders should be passed through in their unresolved ${...} form.The default is
false
.- 指定者:
setIgnoreUnresolvableNestedPlaceholders
在接口中ConfigurablePropertyResolver
- 从以下版本开始:
- 3.2
setRequiredProperties
public void setRequiredProperties(String... requiredProperties)
从接口复制的说明:ConfigurablePropertyResolver
Specify which properties must be present, to be verified byConfigurablePropertyResolver.validateRequiredProperties()
.
validateRequiredProperties
public void validateRequiredProperties()
从接口复制的说明:ConfigurablePropertyResolver
Validate that each of the properties specified byConfigurablePropertyResolver.setRequiredProperties(java.lang.String...)
is present and resolves to a non-null
value.
containsProperty
public boolean containsProperty(String key)
从接口复制的说明:PropertyResolver
Return whether the given property key is available for resolution, i.e. if the value for the given key is notnull
.- 指定者:
containsProperty
在接口中PropertyResolver
getProperty
public String getProperty(String key)
从接口复制的说明:PropertyResolver
Return the property value associated with the given key, ornull
if the key cannot be resolved.- 指定者:
getProperty
在接口中PropertyResolver
- 参数:
key
- the property name to resolve- 另请参阅:
PropertyResolver.getProperty(String, String)
,PropertyResolver.getProperty(String, Class)
,PropertyResolver.getRequiredProperty(String)
getProperty
public String getProperty(String key, String defaultValue)
从接口复制的说明:PropertyResolver
Return the property value associated with the given key, ordefaultValue
if the key cannot be resolved.- 指定者:
getProperty
在接口中PropertyResolver
- 参数:
key
- the property name to resolvedefaultValue
- the default value to return if no value is found- 另请参阅:
PropertyResolver.getRequiredProperty(String)
,PropertyResolver.getProperty(String, Class)
getProperty
public <T> T getProperty(String key, Class<T> targetType, T defaultValue)
从接口复制的说明:PropertyResolver
Return the property value associated with the given key, ordefaultValue
if the key cannot be resolved.- 指定者:
getProperty
在接口中PropertyResolver
- 参数:
key
- the property name to resolvetargetType
- the expected type of the property valuedefaultValue
- the default value to return if no value is found- 另请参阅:
PropertyResolver.getRequiredProperty(String, Class)
getPropertyAsClass
@Deprecated public <T> Class<T> getPropertyAsClass(String key, Class<T> targetValueType)
已过时。从接口复制的说明:PropertyResolver
Convert the property value associated with the given key to aClass
of typeT
ornull
if the key cannot be resolved.
getRequiredProperty
public String getRequiredProperty(String key) throws IllegalStateException
从接口复制的说明:PropertyResolver
Return the property value associated with the given key (nevernull
).- 指定者:
getRequiredProperty
在接口中PropertyResolver
- 抛出:
IllegalStateException
- if the key cannot be resolved- 另请参阅:
PropertyResolver.getRequiredProperty(String, Class)
getRequiredProperty
public <T> T getRequiredProperty(String key, Class<T> valueType) throws IllegalStateException
从接口复制的说明:PropertyResolver
Return the property value associated with the given key, converted to the given targetType (nevernull
).- 指定者:
getRequiredProperty
在接口中PropertyResolver
- 抛出:
IllegalStateException
- if the given key cannot be resolved
resolvePlaceholders
public String resolvePlaceholders(String text)
从接口复制的说明:PropertyResolver
Resolve ${...} placeholders in the given text, replacing them with corresponding property values as resolved byPropertyResolver.getProperty(java.lang.String)
. Unresolvable placeholders with no default value are ignored and passed through unchanged.- 指定者:
resolvePlaceholders
在接口中PropertyResolver
- 参数:
text
- the String to resolve- 返回:
- the resolved String (never
null
) - 另请参阅:
PropertyResolver.resolveRequiredPlaceholders(java.lang.String)
,SystemPropertyUtils.resolvePlaceholders(String)
resolveRequiredPlaceholders
public String resolveRequiredPlaceholders(String text) throws IllegalArgumentException
从接口复制的说明:PropertyResolver
Resolve ${...} placeholders in the given text, replacing them with corresponding property values as resolved byPropertyResolver.getProperty(java.lang.String)
. Unresolvable placeholders with no default value will cause an IllegalArgumentException to be thrown.- 指定者:
resolveRequiredPlaceholders
在接口中PropertyResolver
- 返回:
- the resolved String (never
null
) - 抛出:
IllegalArgumentException
- if given text isnull
or if any placeholders are unresolvable- 另请参阅:
SystemPropertyUtils.resolvePlaceholders(String, boolean)
resolveNestedPlaceholders
protected String resolveNestedPlaceholders(String value)
Resolve placeholders within the given string, deferring to the value ofsetIgnoreUnresolvableNestedPlaceholders(boolean)
to determine whether any unresolvable placeholders should raise an exception or be ignored.Invoked from
getProperty(java.lang.String)
and its variants, implicitly resolving nested placeholders. In contrast,resolvePlaceholders(java.lang.String)
andresolveRequiredPlaceholders(java.lang.String)
donot delegate to this method but rather perform their own handling of unresolvable placeholders, as specified by each of those methods.- 从以下版本开始:
- 3.2
- 另请参阅:
setIgnoreUnresolvableNestedPlaceholders(boolean)
convertValueIfNecessary
protected <T> T convertValueIfNecessary(Object value, Class<T> targetType)
Convert the given value to the specified target type, if necessary.- 参数:
value
- the original property valuetargetType
- the specified target type for property retrieval- 返回:
- the converted value, or the original value if no conversion is necessary
- 从以下版本开始:
- 4.3.5
getPropertyAsRawString
protected abstract String getPropertyAsRawString(String key)
Retrieve the specified property as a raw String, i.e. without resolution of nested placeholders.- 参数:
key
- the property name to resolve- 返回:
- the property value or
null
if none found