@@ -271,23 +271,24 @@ private Set<String> matchedNamesFrom(Map<String, BeanDefinition> namedDefinition
271271
272272 private boolean isCandidate (ConfigurableListableBeanFactory beanFactory , String name , BeanDefinition definition ,
273273 Set <String > ignoredBeans ) {
274- return (!ignoredBeans .contains (name )) && (definition == null
275- || isAutowireCandidate (beanFactory , name , definition ) && isDefaultCandidate (definition ));
276- }
277-
278- private boolean isAutowireCandidate (ConfigurableListableBeanFactory beanFactory , String name ,
279- BeanDefinition definition ) {
280- return definition .isAutowireCandidate () || isScopeTargetAutowireCandidate (beanFactory , name );
281- }
282-
283- private boolean isScopeTargetAutowireCandidate (ConfigurableListableBeanFactory beanFactory , String name ) {
284- try {
285- return ScopedProxyUtils .isScopedTarget (name )
286- && beanFactory .getBeanDefinition (ScopedProxyUtils .getOriginalBeanName (name )).isAutowireCandidate ();
287- }
288- catch (NoSuchBeanDefinitionException ex ) {
274+ if (ignoredBeans .contains (name ) || definition == null ) {
289275 return false ;
290276 }
277+ if (definition .isAutowireCandidate () && isDefaultCandidate (definition )) {
278+ return true ;
279+ }
280+ if (ScopedProxyUtils .isScopedTarget (name )) {
281+ try {
282+ BeanDefinition originalDefinition = beanFactory
283+ .getBeanDefinition (ScopedProxyUtils .getOriginalBeanName (name ));
284+ if (originalDefinition .isAutowireCandidate () && isDefaultCandidate (originalDefinition )) {
285+ return true ;
286+ }
287+ }
288+ catch (NoSuchBeanDefinitionException ex ) {
289+ }
290+ }
291+ return false ;
291292 }
292293
293294 private boolean isDefaultCandidate (BeanDefinition definition ) {
0 commit comments