Browse Source

Avoid instantiation of BeanPropertyBinder in Binder

Closes gh-15181
pull/15385/head
dreis2211 7 years ago committed by Stephane Nicoll
parent
commit
a1a8a8cef0
  1. 4
      spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/bind/Binder.java

4
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/context/properties/bind/Binder.java

@ -333,12 +333,12 @@ public class Binder { @@ -333,12 +333,12 @@ public class Binder {
|| isUnbindableBean(name, target, context)) {
return null;
}
BeanPropertyBinder propertyBinder = (propertyName, propertyTarget) -> bind(
name.append(propertyName), propertyTarget, handler, context, false);
Class<?> type = target.getType().resolve(Object.class);
if (!allowRecursiveBinding && context.hasBoundBean(type)) {
return null;
}
BeanPropertyBinder propertyBinder = (propertyName, propertyTarget) -> bind(
name.append(propertyName), propertyTarget, handler, context, false);
return context.withBean(type, () -> {
Stream<?> boundBeans = BEAN_BINDERS.stream()
.map((b) -> b.bind(name, target, context, propertyBinder));

Loading…
Cancel
Save