diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/ConstructorResolver.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/ConstructorResolver.java index 5a1cfed1491..009bebf78fd 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/ConstructorResolver.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/ConstructorResolver.java @@ -898,7 +898,7 @@ class ConstructorResolver { return Integer.MAX_VALUE - 1024; } - public void storeCache(RootBeanDefinition mbd, Object constructorOrFactoryMethod) { + public void storeCache(RootBeanDefinition mbd, Executable constructorOrFactoryMethod) { synchronized (mbd.constructorArgumentLock) { mbd.resolvedConstructorOrFactoryMethod = constructorOrFactoryMethod; mbd.constructorArgumentsResolved = true; diff --git a/spring-beans/src/main/java/org/springframework/beans/factory/support/RootBeanDefinition.java b/spring-beans/src/main/java/org/springframework/beans/factory/support/RootBeanDefinition.java index e1582ce3ad6..11ee1845e51 100644 --- a/spring-beans/src/main/java/org/springframework/beans/factory/support/RootBeanDefinition.java +++ b/spring-beans/src/main/java/org/springframework/beans/factory/support/RootBeanDefinition.java @@ -16,6 +16,7 @@ package org.springframework.beans.factory.support; +import java.lang.reflect.Executable; import java.lang.reflect.Member; import java.lang.reflect.Method; import java.util.HashSet; @@ -59,7 +60,7 @@ public class RootBeanDefinition extends AbstractBeanDefinition { final Object constructorArgumentLock = new Object(); /** Package-visible field for caching the resolved constructor or factory method */ - Object resolvedConstructorOrFactoryMethod; + Executable resolvedConstructorOrFactoryMethod; /** Package-visible field for caching the return type of a generically typed factory method */ volatile Class resolvedFactoryMethodReturnType; @@ -250,7 +251,7 @@ public class RootBeanDefinition extends AbstractBeanDefinition { */ public Method getResolvedFactoryMethod() { synchronized (this.constructorArgumentLock) { - Object candidate = this.resolvedConstructorOrFactoryMethod; + Executable candidate = this.resolvedConstructorOrFactoryMethod; return (candidate instanceof Method ? (Method) candidate : null); } }