mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-19 22:09:01 +00:00
Merge branch '3.4.x' into 3.5.x
Closes gh-48123
This commit is contained in:
+10
-2
@@ -461,11 +461,19 @@ class OnBeanCondition extends FilteringSpringBootCondition implements Configurat
|
||||
}
|
||||
|
||||
private List<String> getPrimaryBeans(Map<String, BeanDefinition> beanDefinitions) {
|
||||
return getMatchingBeans(beanDefinitions, BeanDefinition::isPrimary);
|
||||
return getMatchingBeans(beanDefinitions, this::isPrimary);
|
||||
}
|
||||
|
||||
private boolean isPrimary(BeanDefinition beanDefinition) {
|
||||
return (beanDefinition != null) && beanDefinition.isPrimary();
|
||||
}
|
||||
|
||||
private List<String> getNonFallbackBeans(Map<String, BeanDefinition> beanDefinitions) {
|
||||
return getMatchingBeans(beanDefinitions, Predicate.not(BeanDefinition::isFallback));
|
||||
return getMatchingBeans(beanDefinitions, this::isNotFallback);
|
||||
}
|
||||
|
||||
private boolean isNotFallback(BeanDefinition beanDefinition) {
|
||||
return (beanDefinition == null) || !beanDefinition.isFallback();
|
||||
}
|
||||
|
||||
private List<String> getMatchingBeans(Map<String, BeanDefinition> beanDefinitions, Predicate<BeanDefinition> test) {
|
||||
|
||||
+10
@@ -195,6 +195,16 @@ class ConditionalOnSingleCandidateTests {
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void singleCandidateDoesNotMatchWhenMultipleRegisteredAsSingletonCandidates() {
|
||||
this.contextRunner.withInitializer((context) -> {
|
||||
context.getBeanFactory().registerSingleton("alpha", "alpha");
|
||||
context.getBeanFactory().registerSingleton("bravo", "bravo");
|
||||
})
|
||||
.withUserConfiguration(OnBeanSingleCandidateConfiguration.class)
|
||||
.run((context) -> assertThat(context).doesNotHaveBean("consumer"));
|
||||
}
|
||||
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@ConditionalOnSingleCandidate(String.class)
|
||||
static class OnBeanSingleCandidateConfiguration {
|
||||
|
||||
Reference in New Issue
Block a user