diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/builder/SpringApplicationBuilder.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/builder/SpringApplicationBuilder.java index 947d33ea17..8b7045e13a 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/builder/SpringApplicationBuilder.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/builder/SpringApplicationBuilder.java @@ -397,16 +397,6 @@ public class SpringApplicationBuilder { return this; } - /** - * Default properties for the environment in the form {@code key=value} or - * {@code key:value}. - * @param defaultProperties the properties to set. - * @return the current builder - */ - public SpringApplicationBuilder properties(String... defaultProperties) { - return properties(getMapFromKeyValuePairs(defaultProperties)); - } - /** * Flag to control whether the application should be initialized lazily. * @param lazyInitialization the flag to set. Defaults to false. @@ -418,6 +408,19 @@ public class SpringApplicationBuilder { return this; } + /** + * Default properties for the environment in the form {@code key=value} or + * {@code key:value}. Multiple calls to this method are cumulative and will not clear + * any previously set properties. + * @param defaultProperties the properties to set. + * @return the current builder + * @see SpringApplicationBuilder#properties(Properties) + * @see SpringApplicationBuilder#properties(Map) + */ + public SpringApplicationBuilder properties(String... defaultProperties) { + return properties(getMapFromKeyValuePairs(defaultProperties)); + } + private Map getMapFromKeyValuePairs(String[] properties) { Map map = new HashMap<>(); for (String property : properties) { @@ -441,10 +444,12 @@ public class SpringApplicationBuilder { } /** - * Default properties for the environment in the form {@code key=value} or - * {@code key:value}. + * Default properties for the environment.Multiple calls to this method are cumulative + * and will not clear any previously set properties. * @param defaultProperties the properties to set. * @return the current builder + * @see SpringApplicationBuilder#properties(String...) + * @see SpringApplicationBuilder#properties(Map) */ public SpringApplicationBuilder properties(Properties defaultProperties) { return properties(getMapFromProperties(defaultProperties)); @@ -460,10 +465,11 @@ public class SpringApplicationBuilder { /** * Default properties for the environment. Multiple calls to this method are - * cumulative. + * cumulative and will not clear any previously set properties. * @param defaults the default properties * @return the current builder * @see SpringApplicationBuilder#properties(String...) + * @see SpringApplicationBuilder#properties(Properties) */ public SpringApplicationBuilder properties(Map defaults) { this.defaultProperties.putAll(defaults);