mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-17 12:09:16 +00:00
Process additional locations when non-default location configured
Fixes gh-20745
This commit is contained in:
+7
-5
@@ -622,12 +622,14 @@ public class ConfigFileApplicationListener implements EnvironmentPostProcessor,
|
||||
}
|
||||
|
||||
private Set<String> getSearchLocations() {
|
||||
if (this.environment.containsProperty(CONFIG_LOCATION_PROPERTY)) {
|
||||
return getSearchLocations(CONFIG_LOCATION_PROPERTY);
|
||||
}
|
||||
Set<String> locations = getSearchLocations(CONFIG_ADDITIONAL_LOCATION_PROPERTY);
|
||||
locations.addAll(
|
||||
asResolvedSet(ConfigFileApplicationListener.this.searchLocations, DEFAULT_SEARCH_LOCATIONS));
|
||||
if (this.environment.containsProperty(CONFIG_LOCATION_PROPERTY)) {
|
||||
locations.addAll(getSearchLocations(CONFIG_LOCATION_PROPERTY));
|
||||
}
|
||||
else {
|
||||
locations.addAll(
|
||||
asResolvedSet(ConfigFileApplicationListener.this.searchLocations, DEFAULT_SEARCH_LOCATIONS));
|
||||
}
|
||||
return locations;
|
||||
}
|
||||
|
||||
|
||||
+10
@@ -913,6 +913,16 @@ class ConfigFileApplicationListenerTests {
|
||||
assertThat(this.environment.getProperty("value")).isEqualTo("1234");
|
||||
}
|
||||
|
||||
@Test
|
||||
void additionalLocationWhenLocationConfiguredShouldTakesPrecedenceOverConfiguredLocation() {
|
||||
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.environment,
|
||||
"spring.config.location=classpath:some.properties",
|
||||
"spring.config.additional-location=classpath:override.properties");
|
||||
this.initializer.postProcessEnvironment(this.environment, this.application);
|
||||
assertThat(this.environment.getProperty("foo")).isEqualTo("bar");
|
||||
assertThat(this.environment.getProperty("value")).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void locationReplaceDefaultLocation() {
|
||||
TestPropertySourceUtils.addInlinedPropertiesToEnvironment(this.environment,
|
||||
|
||||
Reference in New Issue
Block a user