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 b6fe974ef47..8dcfff8d3ee 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 @@ -66,13 +66,14 @@ import org.springframework.util.StringUtils; /** * Delegate for resolving constructors and factory methods. - * Performs constructor resolution through argument matching. + *
Performs constructor resolution through argument matching.
*
* @author Juergen Hoeller
* @author Rob Harrop
* @author Mark Fisher
* @author Costin Leau
* @author Sebastien Deleuze
+ * @author Sam Brannen
* @since 2.0
* @see #autowireConstructor
* @see #instantiateUsingFactoryMethod
@@ -82,9 +83,16 @@ class ConstructorResolver {
private static final Object[] EMPTY_ARGS = new Object[0];
+ /**
+ * Marker for autowired arguments in a cached argument array, to be later replaced
+ * by a {@linkplain #resolveAutowiredArgument resolved autowired argument}.
+ */
+ private static final Object autowiredArgumentMarker = new Object();
+
private static final NamedThreadLocal