From 938b56c0fe87dd242967b00dd9fbd54f91b5742f Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 20 Jul 2016 18:02:23 +0200 Subject: [PATCH] BeanWrapperImpl.setBeanInstance correctly exposes root object Issue: SPR-14474 --- .../springframework/beans/AbstractNestablePropertyAccessor.java | 2 +- .../main/java/org/springframework/beans/BeanWrapperImpl.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-beans/src/main/java/org/springframework/beans/AbstractNestablePropertyAccessor.java b/spring-beans/src/main/java/org/springframework/beans/AbstractNestablePropertyAccessor.java index 207705d10a..c457b51c8b 100644 --- a/spring-beans/src/main/java/org/springframework/beans/AbstractNestablePropertyAccessor.java +++ b/spring-beans/src/main/java/org/springframework/beans/AbstractNestablePropertyAccessor.java @@ -81,7 +81,7 @@ public abstract class AbstractNestablePropertyAccessor extends AbstractPropertyA private String nestedPath = ""; - private Object rootObject; + Object rootObject; /** * Map with cached nested Accessors: nested path -> Accessor instance. diff --git a/spring-beans/src/main/java/org/springframework/beans/BeanWrapperImpl.java b/spring-beans/src/main/java/org/springframework/beans/BeanWrapperImpl.java index e297d85fb8..4d10dc0c81 100644 --- a/spring-beans/src/main/java/org/springframework/beans/BeanWrapperImpl.java +++ b/spring-beans/src/main/java/org/springframework/beans/BeanWrapperImpl.java @@ -141,6 +141,7 @@ public class BeanWrapperImpl extends AbstractNestablePropertyAccessor implements */ public void setBeanInstance(Object object) { this.wrappedObject = object; + this.rootObject = object; this.typeConverterDelegate = new TypeConverterDelegate(this, this.wrappedObject); setIntrospectionClass(object.getClass()); }