diff --git a/spring-beans/src/main/kotlin/org/springframework/beans/factory/BeanFactoryExtensions.kt b/spring-beans/src/main/kotlin/org/springframework/beans/factory/BeanFactoryExtensions.kt index 3bd4d67bb2ea..b939118105a6 100644 --- a/spring-beans/src/main/kotlin/org/springframework/beans/factory/BeanFactoryExtensions.kt +++ b/spring-beans/src/main/kotlin/org/springframework/beans/factory/BeanFactoryExtensions.kt @@ -58,8 +58,9 @@ inline fun BeanFactory.getBean(vararg args:Any): T = * * @see BeanFactory.getBeanProvider(ResolvableType) * @author Sebastien Deleuze + * @author Yanming Zhou * @since 5.1 */ inline fun BeanFactory.getBeanProvider(): ObjectProvider = - getBeanProvider(ResolvableType.forType((object : ParameterizedTypeReference() {}).type)) + getBeanProvider(object : ParameterizedTypeReference() {}) diff --git a/spring-beans/src/test/kotlin/org/springframework/beans/factory/BeanFactoryExtensionsTests.kt b/spring-beans/src/test/kotlin/org/springframework/beans/factory/BeanFactoryExtensionsTests.kt index 750fc095efda..af28018037b6 100644 --- a/spring-beans/src/test/kotlin/org/springframework/beans/factory/BeanFactoryExtensionsTests.kt +++ b/spring-beans/src/test/kotlin/org/springframework/beans/factory/BeanFactoryExtensionsTests.kt @@ -37,17 +37,17 @@ class BeanFactoryExtensionsTests { @Test fun `getBean with reified type parameters`() { val foo = Foo() - every { bf.getBeanProvider(ofType()).getObject() } returns foo + every { bf.getBeanProvider(object : ParameterizedTypeReference() {}).getObject() } returns foo assertThat(bf.getBean()).isSameAs(foo) - verify { bf.getBeanProvider>(ofType()).getObject() } + verify { bf.getBeanProvider(object : ParameterizedTypeReference() {}).getObject() } } @Test fun `getBean with reified generic type parameters`() { val foo = listOf(Foo()) - every { bf.getBeanProvider>(ofType()).getObject() } returns foo + every { bf.getBeanProvider(object : ParameterizedTypeReference>() {}).getObject() } returns foo assertThat(bf.getBean>()).isSameAs(foo) - verify { bf.getBeanProvider>>(ofType()).getObject() } + verify { bf.getBeanProvider(object : ParameterizedTypeReference>() {}).getObject() } } @Test @@ -71,15 +71,15 @@ class BeanFactoryExtensionsTests { val arg1 = "arg1" val arg2 = "arg2" val bar = Bar(arg1, arg2) - every { bf.getBeanProvider(ofType()).getObject(arg1, arg2) } returns bar + every { bf.getBeanProvider(object : ParameterizedTypeReference() {}).getObject(arg1, arg2) } returns bar assertThat(bf.getBean(arg1, arg2)).isSameAs(bar) - verify { bf.getBeanProvider(ofType()).getObject(arg1, arg2) } + verify { bf.getBeanProvider(object : ParameterizedTypeReference() {}).getObject(arg1, arg2) } } @Test fun `getBeanProvider with reified type parameters`() { bf.getBeanProvider() - verify { bf.getBeanProvider>(ofType()) } + verify { bf.getBeanProvider(object : ParameterizedTypeReference() {}) } } class Foo