Example usage for org.springframework.core.env ConfigurablePropertyResolver resolvePlaceholders

List of usage examples for org.springframework.core.env ConfigurablePropertyResolver resolvePlaceholders

Introduction

In this page you can find the example usage for org.springframework.core.env ConfigurablePropertyResolver resolvePlaceholders.

Prototype

String resolvePlaceholders(String text);

Source Link

Document

Resolve ${...} placeholders in the given text, replacing them with corresponding property values as resolved by #getProperty .

Usage

From source file:org.zalando.crypto.spring.EncryptablePropertiesPlaceholderConfigurer.java

@Override
protected void processProperties(final ConfigurableListableBeanFactory beanFactoryToProcess,
        final ConfigurablePropertyResolver propertyResolver) throws BeansException {

    propertyResolver.setPlaceholderPrefix(this.placeholderPrefix);
    propertyResolver.setPlaceholderSuffix(this.placeholderSuffix);
    propertyResolver.setValueSeparator(this.valueSeparator);

    StringValueResolver valueResolver = new StringValueResolver() {
        @Override/*from ww w.  j a v a 2  s. c  o m*/
        public String resolveStringValue(final String strVal) {
            String resolved = ignoreUnresolvablePlaceholders ? propertyResolver.resolvePlaceholders(strVal)
                    : propertyResolver.resolveRequiredPlaceholders(strVal);

            if (resolved.startsWith(cryptoPrefix)) {

                resolved = decrypter.decrypt(resolved.substring(cryptoPrefix.length()));
            }

            return (resolved.equals(nullValue) ? null : resolved);
        }
    };

    doProcessProperties(beanFactoryToProcess, valueResolver);
}