|
|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
* Copyright 2002-2013 the original author or authors. |
|
|
|
* Copyright 2002-2014 the original author or authors. |
|
|
|
* |
|
|
|
* |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
@ -61,6 +61,7 @@ import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; |
|
|
|
import org.springframework.beans.factory.config.DependencyDescriptor; |
|
|
|
import org.springframework.beans.factory.config.DependencyDescriptor; |
|
|
|
import org.springframework.core.annotation.AnnotationUtils; |
|
|
|
import org.springframework.core.annotation.AnnotationUtils; |
|
|
|
import org.springframework.util.Assert; |
|
|
|
import org.springframework.util.Assert; |
|
|
|
|
|
|
|
import org.springframework.util.ClassUtils; |
|
|
|
import org.springframework.util.ObjectUtils; |
|
|
|
import org.springframework.util.ObjectUtils; |
|
|
|
import org.springframework.util.StringUtils; |
|
|
|
import org.springframework.util.StringUtils; |
|
|
|
|
|
|
|
|
|
|
|
@ -349,7 +350,7 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto |
|
|
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@Override |
|
|
|
public String[] getBeanNamesForType(Class<?> type, boolean includeNonSingletons, boolean allowEagerInit) { |
|
|
|
public String[] getBeanNamesForType(Class<?> type, boolean includeNonSingletons, boolean allowEagerInit) { |
|
|
|
if (!isConfigurationFrozen() || type == null || !allowEagerInit) { |
|
|
|
if (!isConfigurationFrozen() || type == null || !allowEagerInit) { |
|
|
|
return doGetBeanNamesForType(type, includeNonSingletons, allowEagerInit); |
|
|
|
return doGetBeanNamesForType(type, includeNonSingletons, allowEagerInit); |
|
|
|
} |
|
|
|
} |
|
|
|
Map<Class<?>, String[]> cache = |
|
|
|
Map<Class<?>, String[]> cache = |
|
|
|
@ -359,7 +360,9 @@ public class DefaultListableBeanFactory extends AbstractAutowireCapableBeanFacto |
|
|
|
return resolvedBeanNames; |
|
|
|
return resolvedBeanNames; |
|
|
|
} |
|
|
|
} |
|
|
|
resolvedBeanNames = doGetBeanNamesForType(type, includeNonSingletons, allowEagerInit); |
|
|
|
resolvedBeanNames = doGetBeanNamesForType(type, includeNonSingletons, allowEagerInit); |
|
|
|
cache.put(type, resolvedBeanNames); |
|
|
|
if (ClassUtils.isCacheSafe(type, getBeanClassLoader())) { |
|
|
|
|
|
|
|
cache.put(type, resolvedBeanNames); |
|
|
|
|
|
|
|
} |
|
|
|
return resolvedBeanNames; |
|
|
|
return resolvedBeanNames; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|