Properly resolve null candidates for collection injection

Issue: SPR-16033
This commit is contained in:
Juergen Hoeller
2017-10-02 12:27:11 +02:00
parent 30d1b53aa5
commit c9d3c2690d
2 changed files with 32 additions and 11 deletions

View File

@@ -1317,7 +1317,8 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
DependencyDescriptor descriptor, Class<?> requiredType) {
if (descriptor instanceof MultiElementDescriptor || containsSingleton(candidateName)) {
candidates.put(candidateName, descriptor.resolveCandidate(candidateName, requiredType, this));
Object beanInstance = descriptor.resolveCandidate(candidateName, requiredType, this);
candidates.put(candidateName, (beanInstance instanceof NullBean ? null : beanInstance));
}
else {
candidates.put(candidateName, getType(candidateName));