From 00fffb7ab0ec46c1a8ddfab7b48cdf8f26193a05 Mon Sep 17 00:00:00 2001 From: lwpro2 Date: Mon, 5 Apr 2021 16:41:19 +0800 Subject: [PATCH] Restore customization of PropertyResolver This commit reintroduces the ability to customize the PropertyResolver to use in PropertySourcesPropertyResolver See gh-26761 --- .../support/PropertySourcesPlaceholderConfigurer.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/spring-context/src/main/java/org/springframework/context/support/PropertySourcesPlaceholderConfigurer.java b/spring-context/src/main/java/org/springframework/context/support/PropertySourcesPlaceholderConfigurer.java index 293c4fa2f269..b1bc2bd8069f 100644 --- a/spring-context/src/main/java/org/springframework/context/support/PropertySourcesPlaceholderConfigurer.java +++ b/spring-context/src/main/java/org/springframework/context/support/PropertySourcesPlaceholderConfigurer.java @@ -170,10 +170,17 @@ public String getProperty(String key) { } } - processProperties(beanFactory, new PropertySourcesPropertyResolver(this.propertySources)); + processProperties(beanFactory, getPropertyResolver(this.propertySources)); this.appliedPropertySources = this.propertySources; } + /** + * Construct and provide a PropertyResolver from the given properties. + */ + public ConfigurablePropertyResolver getPropertyResolver(MutablePropertySources propertySources){ + return new PropertySourcesPropertyResolver(propertySources); + } + /** * Visit each bean definition in the given bean factory and attempt to replace ${...} property * placeholders with values from the given properties.