Skip to content

Commit ae4a69a

Browse files
committed
Merge branch '3.4.x' into 3.5.x
Closes gh-47635
2 parents fa62dc8 + c14b57a commit ae4a69a

File tree

1 file changed

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

1 file changed

+16
-15
lines changed

spring-boot-project/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
@@ -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

Comments
 (0)