Spring源码之ConfigurableEnvironment Environment ConfigurablePropertyResolver PropertyResolver

 2019-11-02 21:26  阅读(1760)
文章分类:Spring boot

**PropertyResolver:**接口以解析任何底层资源的属性。

boolean containsProperty(String key);返回给定的属性KEY是否可用于解析,如果给定密钥的值不是NULL。

String getProperty(String key);返回与给定键关联的属性值,或者返回NULL,如果KEY不能被解析

String getProperty(String key, String defaultValue);返回与给定键关联的属性值,或者返回defaultValue,如果KEY不能被解析

T getProperty(String key, Class targetType);返回与给定键关联的属性值,或者返回NULL,如果KEY不能被解析 T getProperty(String key, Class targetType, T defaultValue);返回与给定键关联的属性值,或者返回defaultValue,如果KEY不能被解析 String getRequiredProperty(String key) throws IllegalStateException;返回与给定键关联的属性值,KEY不可为空 T getRequiredProperty(String key, Class targetType) throws IllegalStateException;返回与给定键关联的属性值,转换为给定的targetType String resolvePlaceholders(String text);解决$ \{…\}占位符文本中,代之以相应的属性值作为解决由\{@link \#getProperty\}。不具有默认值的不可解析占位符被忽略并通过不变的传递。 String resolveRequiredPlaceholders(String text) throws IllegalArgumentException;解决$ \{…\}占位符文本中,代之以相应的属性值作为解决由\{@link \#getProperty\}。不具有默认值的不可解析占位符抛出IllegalArgumentException。 **ConversionService** 类型转换的服务接口。这是进入转换系统的入口点。调用\{@link \#convert(Object, Class)\}以使用该系统执行线程安全类型转换。 **ConverterRegistry 用于注册具有类型转换系统的转换器。** **ConfigurableConversionService 父类为ConversionService** 配置接口由大多数但不是全部ConversionService类型实现。合并由\{@link ConversionService\}公开的只读操作和\{@link ConverterRegistry\}的转变操作,以便方便地临时添加和删除\{@org.springframework.core.convert.converter.Converter \* Converters。后者是特别有用当工作于\{@link org.springframework.core.env.ConfigurableEnvironment ConfigurableEnvironment\}接口在应用程序上下文引导代码 **ConfigurablePropertyResolver:配置接口由大多数,如果不是所有\{@link PropertyResolver\}类型实现。提供访问和定制将属性值从一种类型转换为另一种类型时使用的\{@link org.springframework.core…ConversionService ConversionService\}的工具。** ConfigurableConversionService getConversionService();返回对属性执行类型转换时使用的\{@link ConfigurableConversionService\} void setConversionService(ConfigurableConversionService conversionService);设置对属性执行类型转换时使用的\{@link ConfigurableConversionService\} void setPlaceholderPrefix(String placeholderPrefix);设置由这个解析器替换的占位符必须开始的前缀。 void setPlaceholderSuffix(String placeholderSuffix);设置由该解析器替换的占位符的后缀必须结束。 void setValueSeparator(String valueSeparator);指定由此解析器替换的占位符与其关联的默认值之间的分隔字符,或者\{@code null\}如果没有这样的特殊字符应该作为值分隔符处理。 void setIgnoreUnresolvableNestedPlaceholders(boolean ignoreUnresolvableNestedPlaceholders); void setRequiredProperties(String… requiredProperties);指定哪些属性必须存在,以\{@link \#validateRequiredProperties()\}.验证 void validateRequiredProperties() throws MissingRequiredPropertiesException;验证\{@link\#setRequiredProperties\}指定的每个属性是否存在,并解析为非\{@code null\}值。 **Environment :表示当前应用程序运行的环境的接口,应用环境模型的两个关键方面:profiles和properties,有关属性访问的方法通过\{@link PropertyResolver\}超接口公开。配置文件是一个命名逻辑组bean定义,只有在给定的配置文件激活时才能将其注册到容器中。bean可以被分配给一个配置文件,无论是在XML中定义还是通过注释;属性在几乎所有应用程序中都扮演着重要的角色,并且可能来源于各种来源:属性文件、JVM系统属性、系统环境变量、JNDI、servlet上下文参数、ad-hoc Properties对象、Maps等等。环境对象与属性的关系的作用是为用户提供方便的服务接口,用于配置属性源并从属性源解析属性。托管在ApplicationContext中的BEAN 可以注册为EnvironmentAware或者Environment为了直接查询配置文件状态或解析属性。环境对象的配置必须通过\{@code ConfigurableEnvironment\} 接口,从所有AbstractApplicationContext子类方法返回。** String\[\] getActiveProfiles();返回显式为该环境激活的配置文件集。 String\[\] getDefaultProfiles();当未显式设置活动配置文件时,返回默认情况下要激活的配置文件集。 boolean acceptsProfiles(String… profiles);返回给定的配置文件中的一个或多个是否是活动的,或者在没有显式活动配置文件的情况下,是否将一个或多个给定的配置文件包含在默认配置文件中。 **ConfigurableEnvironment 父类为Environment, ConfigurablePropertyResolver** **配置接口由大多数,如果不是全部\{@link Environment\}类型实现。提供设置活动和默认配置文件以及操作底层属性源的工具。** **当ApplicationContext正在使用环境时,在调用上下文的刷新方法之前执行任何此类PropertySource操作都很重要。这确保了在容器引导过程中所有属性源都可用。** void setActiveProfiles(String… profiles); void addActiveProfile(String profile); void setDefaultProfiles(String… profiles); MutablePropertySources getPropertySources(); Map getSystemProperties(); Map getSystemEnvironment(); void merge(ConfigurableEnvironment parent); ------- 来源:[http://ddrv.cn](http://ddrv.cn)

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> Spring源码之ConfigurableEnvironment Environment ConfigurablePropertyResolver PropertyResolver

相关推荐