From c2a5fcd3538e031525d3656f1b7c9d5f4702ee06 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Thu, 26 Jul 2018 05:59:18 +0200 Subject: [PATCH] Fallback to empty collection/map only if actually no target bean found Issue: SPR-15338 --- .../beans/factory/support/ConstructorResolver.java | 4 ++++ 1 file changed, 4 insertions(+) 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 0e15eced53..5edd74648e 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 @@ -45,6 +45,7 @@ import org.springframework.beans.factory.BeanCreationException; import org.springframework.beans.factory.BeanDefinitionStoreException; import org.springframework.beans.factory.InjectionPoint; import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.beans.factory.NoUniqueBeanDefinitionException; import org.springframework.beans.factory.UnsatisfiedDependencyException; import org.springframework.beans.factory.config.ConstructorArgumentValues; import org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder; @@ -823,6 +824,9 @@ class ConstructorResolver { return this.beanFactory.resolveDependency( new DependencyDescriptor(param, true), beanName, autowiredBeanNames, typeConverter); } + catch (NoUniqueBeanDefinitionException ex) { + throw ex; + } catch (NoSuchBeanDefinitionException ex) { if (fallback) { // Single constructor or factory method -> let's return an empty array/collection