Skip to content

Commit 32ca67a

Browse files
committed
Merge branch '3.5.x'
Closes gh-47636
2 parents b2cc5a3 + ae4a69a commit 32ca67a

File tree

1 file changed

+16
-15
lines changed
  • core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition

1 file changed

+16
-15
lines changed

core/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/condition/OnBeanCondition.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -279,23 +279,24 @@ private Set<String> matchedNamesFrom(Map<String, @Nullable BeanDefinition> named
279279

280280
private boolean isCandidate(ConfigurableListableBeanFactory beanFactory, String name,
281281
@Nullable BeanDefinition definition, Set<String> ignoredBeans) {
282-
return (!ignoredBeans.contains(name)) && (definition == null
283-
|| isAutowireCandidate(beanFactory, name, definition) && isDefaultCandidate(definition));
284-
}
285-
286-
private boolean isAutowireCandidate(ConfigurableListableBeanFactory beanFactory, String name,
287-
BeanDefinition definition) {
288-
return definition.isAutowireCandidate() || isScopeTargetAutowireCandidate(beanFactory, name);
289-
}
290-
291-
private boolean isScopeTargetAutowireCandidate(ConfigurableListableBeanFactory beanFactory, String name) {
292-
try {
293-
return ScopedProxyUtils.isScopedTarget(name)
294-
&& beanFactory.getBeanDefinition(ScopedProxyUtils.getOriginalBeanName(name)).isAutowireCandidate();
295-
}
296-
catch (NoSuchBeanDefinitionException ex) {
282+
if (ignoredBeans.contains(name) || definition == null) {
297283
return false;
298284
}
285+
if (definition.isAutowireCandidate() && isDefaultCandidate(definition)) {
286+
return true;
287+
}
288+
if (ScopedProxyUtils.isScopedTarget(name)) {
289+
try {
290+
BeanDefinition originalDefinition = beanFactory
291+
.getBeanDefinition(ScopedProxyUtils.getOriginalBeanName(name));
292+
if (originalDefinition.isAutowireCandidate() && isDefaultCandidate(originalDefinition)) {
293+
return true;
294+
}
295+
}
296+
catch (NoSuchBeanDefinitionException ex) {
297+
}
298+
}
299+
return false;
299300
}
300301

301302
private boolean isDefaultCandidate(BeanDefinition definition) {

0 commit comments

Comments
 (0)