@ -22,6 +22,7 @@ import java.util.Arrays;
import java.util.Collections ;
import java.util.Collections ;
import java.util.Deque ;
import java.util.Deque ;
import java.util.HashMap ;
import java.util.HashMap ;
import java.util.HashSet ;
import java.util.LinkedHashMap ;
import java.util.LinkedHashMap ;
import java.util.LinkedHashSet ;
import java.util.LinkedHashSet ;
import java.util.LinkedList ;
import java.util.LinkedList ;
@ -656,11 +657,22 @@ public class ConfigFileApplicationListener
private void addLoadedPropertySources ( ) {
private void addLoadedPropertySources ( ) {
MutablePropertySources destination = this . environment . getPropertySources ( ) ;
MutablePropertySources destination = this . environment . getPropertySources ( ) ;
String lastAdded = null ;
List < MutablePropertySources > loaded = new ArrayList < > ( this . loaded . values ( ) ) ;
List < MutablePropertySources > loaded = new ArrayList < > ( this . loaded . values ( ) ) ;
Collections . reverse ( loaded ) ;
Collections . reverse ( loaded ) ;
String lastAdded = null ;
Set < String > added = new HashSet < > ( ) ;
for ( MutablePropertySources sources : loaded ) {
for ( MutablePropertySources sources : loaded ) {
for ( PropertySource < ? > source : sources ) {
for ( PropertySource < ? > source : sources ) {
if ( added . add ( source . getName ( ) ) ) {
addLoadedPropertySource ( destination , lastAdded , source ) ;
lastAdded = source . getName ( ) ;
}
}
}
}
private void addLoadedPropertySource ( MutablePropertySources destination ,
String lastAdded , PropertySource < ? > source ) {
if ( lastAdded = = null ) {
if ( lastAdded = = null ) {
if ( destination . contains ( DEFAULT_PROPERTIES ) ) {
if ( destination . contains ( DEFAULT_PROPERTIES ) ) {
destination . addBefore ( DEFAULT_PROPERTIES , source ) ;
destination . addBefore ( DEFAULT_PROPERTIES , source ) ;
@ -672,9 +684,6 @@ public class ConfigFileApplicationListener
else {
else {
destination . addAfter ( lastAdded , source ) ;
destination . addAfter ( lastAdded , source ) ;
}
}
lastAdded = source . getName ( ) ;
}
}
}
}
}
}