|
|
@ -19,7 +19,9 @@ package org.springframework.boot.bind;
|
|
|
|
import java.util.Map;
|
|
|
|
import java.util.Map;
|
|
|
|
|
|
|
|
|
|
|
|
import org.springframework.core.env.ConfigurableEnvironment;
|
|
|
|
import org.springframework.core.env.ConfigurableEnvironment;
|
|
|
|
|
|
|
|
import org.springframework.core.env.Environment;
|
|
|
|
import org.springframework.core.env.PropertyResolver;
|
|
|
|
import org.springframework.core.env.PropertyResolver;
|
|
|
|
|
|
|
|
import org.springframework.core.env.PropertySourcesPropertyResolver;
|
|
|
|
import org.springframework.util.Assert;
|
|
|
|
import org.springframework.util.Assert;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
@ -145,4 +147,25 @@ public class RelaxedPropertyResolver implements PropertyResolver {
|
|
|
|
keyPrefix);
|
|
|
|
keyPrefix);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* Return a property resolver for the environment, preferring one that ignores
|
|
|
|
|
|
|
|
* unresolvable nested placeholders.
|
|
|
|
|
|
|
|
* @param environment the source environment
|
|
|
|
|
|
|
|
* @param prefix the prefix
|
|
|
|
|
|
|
|
* @return a property resolver for the environment
|
|
|
|
|
|
|
|
* @since 1.4.3
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
public static RelaxedPropertyResolver ignoringUnresolvableNestedPlaceholders(
|
|
|
|
|
|
|
|
Environment environment, String prefix) {
|
|
|
|
|
|
|
|
Assert.notNull(environment, "Environment must not be null");
|
|
|
|
|
|
|
|
PropertyResolver resolver = environment;
|
|
|
|
|
|
|
|
if (environment instanceof ConfigurableEnvironment) {
|
|
|
|
|
|
|
|
resolver = new PropertySourcesPropertyResolver(
|
|
|
|
|
|
|
|
((ConfigurableEnvironment) environment).getPropertySources());
|
|
|
|
|
|
|
|
((PropertySourcesPropertyResolver) resolver)
|
|
|
|
|
|
|
|
.setIgnoreUnresolvableNestedPlaceholders(true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return new RelaxedPropertyResolver(resolver, prefix);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|