ConfigurablePropertyResolver接口

package org.springframework.core.env;

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

/**
 * 此接口是大多數(shù)PropertyResolver實(shí)現(xiàn)類的父接口,它規(guī)范了使用property的方法,
 * 并且使用戶可以定制化PropertyResolver在解析和轉(zhuǎn)換property時(shí)候的邏輯
 */
public interface ConfigurablePropertyResolver extends PropertyResolver {

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

    /**
     * 設(shè)置在涉及到屬性轉(zhuǎn)換操作時(shí)所使用到的ConfigurableConversionService
     */
    void setConversionService(ConfigurableConversionService conversionService);

    /**
     * 設(shè)置該 resolver 所能處理的占位符的前綴
     */
    void setPlaceholderPrefix(String placeholderPrefix);

    /**
     * 設(shè)置該 resolver 所能處理的占位符的后綴
     */
    void setPlaceholderSuffix(String placeholderSuffix);

    /**
     * 指定該resolver所能替換的分隔符與其默認(rèn)值直接的分隔符,
     * 如果不存在分隔符,則傳null
     */
    void setValueSeparator(@Nullable String valueSeparator);

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

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

    /**
     * 驗(yàn)證所有的必須屬性是否都存在,并且屬性值非null
     * 否則拋出 MissingRequiredPropertiesException
     */
    void validateRequiredProperties() throws MissingRequiredPropertiesException;

}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容