二十三. ConfigurablePropertyResolver接口分析

说明: 配置接口将由大多数PropertyResolver类型实现。提供访问和自定义将属性值从一种类型转换为另一种类型时使用的ConversionService的工具。

该接口中有以下几个方法:

// 返回对属性执行类型转换时使用的ConfigurableConversionService。

// 返回的转换服务的可配置特性允许方便地添加和删除单个转换器实例:

// ConfigurableConversionService cs = env.getConversionService();

  //  cs.addConverter(new FooConverter());

ConfigurableConversionService getConversionService();

// 设置对属性执行类型转换时要使用的ConfigurableConversionService。

注意:作为完全替换ConversionService的替代方法,可以考虑通过钻取 getConversionService() 并调用#addConverter等方法来添加或删除单个Converter实例。

void setConversionService(ConfigurableConversionService conversionService);

// 设置被此解析器替换的占位符必须以其开头的前缀

void setPlaceholderPrefix(String placeholderPrefix);

// 设置占位符被此解析器替换后必须以其结尾的后缀。

void setPlaceholderSuffix(String placeholderSuffix);

// 指定此解析器所替换的占位符与其关联的默认值之间的分隔字符,如果不应将此类特殊字符作为值分隔符处理,则为null。

void setValueSeparator(@Nullable String valueSeparator);

// 设置当遇到嵌套在给定属性值内的不可解析占位符时是否抛出异常。false表示严格解析,即抛出异常。true表示不可解析的嵌套占位符应该在其未解析的${…}形式。

// getProperty(String)及其变体的实现必须检查这里设置的值,以确定当属性值包含不可解析的占位符时的正确行为。

void setIgnoreUnresolvableNestedPlaceholders(boolean ignoreUnresolvableNestedPlaceholders);

// 指定必须出现的属性,以便由validateRequiredProperties()验证。

void setRequiredProperties(String... requiredProperties);

// 验证setRequiredProperties指定的每个属性是否存在,并解析为一个非空值。

void validateRequiredProperties() throws MissingRequiredPropertiesException;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容