Avoid re-retrieval of singleton bean instances

Issue: SPR-10663
This commit is contained in:
Juergen Hoeller
2013-07-25 11:51:50 +02:00
committed by unknown
parent eb6dccd885
commit ed996ab4b3

View File

@@ -471,12 +471,12 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto
Map<String, Object> results = new LinkedHashMap<String, Object>();
for (String beanName : getBeanDefinitionNames()) {
BeanDefinition beanDefinition = getBeanDefinition(beanName);
if (!beanDefinition.isAbstract() && (findAnnotationOnBean(beanName, annotationType) != null)) {
if (!beanDefinition.isAbstract() && findAnnotationOnBean(beanName, annotationType) != null) {
results.put(beanName, getBean(beanName));
}
}
for (String beanName : getSingletonNames()) {
if (findAnnotationOnBean(beanName, annotationType) != null) {
if (!results.containsKey(beanName) && findAnnotationOnBean(beanName, annotationType) != null) {
results.put(beanName, getBean(beanName));
}
}