Spring

ConfigurablePropertyResolver接口

2019-03-16  本文已影响0人  王勇1024
package org.springframework.core.env;

import org.springframework.core.convert.support.ConfigurableConversionService;
import org.springframework.lang.Nullable;

/**
 * 此接口是大多数PropertyResolver实现类的父接口,它规范了使用property的方法,
 * 并且使用户可以定制化PropertyResolver在解析和转换property时候的逻辑
 */
public interface ConfigurablePropertyResolver extends PropertyResolver {

    /**
     * 返回在解析属性时使用的ConfigurableConversionService。此方法的返回值可被用户定制化,
     * 例如可以移除或者添加Converter
     * ConfigurableConversionService cs = env.getConversionService();
     * cs.addConverter(new FooConverter());
     */
    ConfigurableConversionService getConversionService();

    /**
     * 设置在涉及到属性转换操作时所使用到的ConfigurableConversionService
     */
    void setConversionService(ConfigurableConversionService conversionService);

    /**
     * 设置该 resolver 所能处理的占位符的前缀
     */
    void setPlaceholderPrefix(String placeholderPrefix);

    /**
     * 设置该 resolver 所能处理的占位符的后缀
     */
    void setPlaceholderSuffix(String placeholderSuffix);

    /**
     * 指定该resolver所能替换的分隔符与其默认值直接的分隔符,
     * 如果不存在分隔符,则传null
     */
    void setValueSeparator(@Nullable String valueSeparator);

    /**
     * 是否忽略不可解析的嵌套占位符
     */
    void setIgnoreUnresolvableNestedPlaceholders(boolean ignoreUnresolvableNestedPlaceholders);

    /**
     * 指定哪些属性是必须属性
     */
    void setRequiredProperties(String... requiredProperties);

    /**
     * 验证所有的必须属性是否都存在,并且属性值非null
     * 否则抛出 MissingRequiredPropertiesException
     */
    void validateRequiredProperties() throws MissingRequiredPropertiesException;

}
上一篇下一篇

猜你喜欢

热点阅读