@ -19,7 +19,9 @@ package org.springframework.boot.bind;
@@ -19,7 +19,9 @@ package org.springframework.boot.bind;
import java.util.Map ;
import org.springframework.core.env.ConfigurableEnvironment ;
import org.springframework.core.env.Environment ;
import org.springframework.core.env.PropertyResolver ;
import org.springframework.core.env.PropertySourcesPropertyResolver ;
import org.springframework.util.Assert ;
/ * *
@ -145,4 +147,25 @@ public class RelaxedPropertyResolver implements PropertyResolver {
@@ -145,4 +147,25 @@ public class RelaxedPropertyResolver implements PropertyResolver {
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 ) ;
}
}