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