봐, 특히 processProperties 방법 :
protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess,
final ConfigurablePropertyResolver propertyResolver) throws BeansException {
propertyResolver.setPlaceholderPrefix(this.placeholderPrefix);
propertyResolver.setPlaceholderSuffix(this.placeholderSuffix);
propertyResolver.setValueSeparator(this.valueSeparator);
StringValueResolver valueResolver = new StringValueResolver() {
@Override
public String resolveStringValue(String strVal) {
String resolved = (ignoreUnresolvablePlaceholders ?
propertyResolver.resolvePlaceholders(strVal) :
propertyResolver.resolveRequiredPlaceholders(strVal));
if (trimValues) {
resolved = resolved.trim();
}
return (resolved.equals(nullValue) ? null : resolved);
}
};
doProcessProperties(beanFactoryToProcess, valueResolver);
}
당신은 그것을 간단한 검사가 포함되어있는 것을 확인할 수 있습니다.
은으로 보호됩니다.
그런 다음 솔루션은 메서드를 재정의하는 고유 한 PropertySourcesPlaceHolderConfigurer 하위 클래스를 만드는 것입니다. 정확히 동일한 코드가 포함되어 있지만 경고가 기록됩니다.
그래서
String resolved = (ignoreUnresolvablePlaceholders ?
propertyResolver.resolvePlaceholders(strVal) :
propertyResolver.resolveRequiredPlaceholders(strVal));
그런 다음 몇 가지 코드를 공유하는 것이 좋을 것이다
어쩌면
하지 쉬운 솔루션
을 ...된다 .. 그런 식으로 우리의 명확한 그림이 니가 말하는거야 – Sohlowmawn