Add missing variants of getBeanNamesForType

Update `ListableBeanFactory` and `BeanFactoryUtils` to add the missing
`getBeanNamesForType` methods that accept a `ResolvableType` rather
than a `Class`.

This completes the work started in 778a01943b.

Closes gh-23335
This commit is contained in:
Phillip Webb
2019-07-20 17:03:31 +01:00
committed by Juergen Hoeller
parent 30132b42c6
commit 2ee1ce61c0
7 changed files with 113 additions and 17 deletions

View File

@@ -1751,6 +1751,8 @@ public class DefaultListableBeanFactoryTests {
assertThat(lbf.getBeanNamesForType(ConstructorDependencyFactoryBean.class).length).isEqualTo(1);
assertThat(lbf.getBeanNamesForType(ResolvableType.forClassWithGenerics(FactoryBean.class, Object.class)).length).isEqualTo(1);
assertThat(lbf.getBeanNamesForType(ResolvableType.forClassWithGenerics(FactoryBean.class, String.class)).length).isEqualTo(0);
assertThat(lbf.getBeanNamesForType(ResolvableType.forClassWithGenerics(FactoryBean.class, Object.class), true, true).length).isEqualTo(1);
assertThat(lbf.getBeanNamesForType(ResolvableType.forClassWithGenerics(FactoryBean.class, String.class), true, true).length).isEqualTo(0);
}
private RootBeanDefinition createConstructorDependencyBeanDefinition(int age) {