Browse Source

Fix DefaultListableBeanFactory#copyConfigurationFrom

Closes gh-23569
pull/28406/head
Juergen Hoeller 6 years ago
parent
commit
6f45a1ac00
  1. 5
      spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java

5
spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java

@ -317,7 +317,8 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
this.allowEagerClassLoading = otherListableFactory.allowEagerClassLoading; this.allowEagerClassLoading = otherListableFactory.allowEagerClassLoading;
this.dependencyComparator = otherListableFactory.dependencyComparator; this.dependencyComparator = otherListableFactory.dependencyComparator;
// A clone of the AutowireCandidateResolver since it is potentially BeanFactoryAware... // A clone of the AutowireCandidateResolver since it is potentially BeanFactoryAware...
setAutowireCandidateResolver(BeanUtils.instantiateClass(getAutowireCandidateResolver().getClass())); setAutowireCandidateResolver(
BeanUtils.instantiateClass(otherListableFactory.getAutowireCandidateResolver().getClass()));
// Make resolvable dependencies (e.g. ResourceLoader) available here as well... // Make resolvable dependencies (e.g. ResourceLoader) available here as well...
this.resolvableDependencies.putAll(otherListableFactory.resolvableDependencies); this.resolvableDependencies.putAll(otherListableFactory.resolvableDependencies);
} }
@ -904,7 +905,7 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
for (String bdName : this.beanDefinitionNames) { for (String bdName : this.beanDefinitionNames) {
if (!beanName.equals(bdName)) { if (!beanName.equals(bdName)) {
BeanDefinition bd = this.beanDefinitionMap.get(bdName); BeanDefinition bd = this.beanDefinitionMap.get(bdName);
if (beanName.equals(bd.getParentName())) { if (bd != null && beanName.equals(bd.getParentName())) {
resetBeanDefinition(bdName); resetBeanDefinition(bdName);
} }
} }

Loading…
Cancel
Save