From 9ff37c42950a3ee56da261091ae779d2744f05c0 Mon Sep 17 00:00:00 2001 From: Yanming Zhou Date: Mon, 13 Jul 2026 16:53:49 +0800 Subject: [PATCH] Add test for getting generic bean by name with wildcard type reference See GH-34687 Signed-off-by: Yanming Zhou --- .../factory/DefaultListableBeanFactoryTests.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java b/spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java index c9831eeaec19..cd647ba25091 100644 --- a/spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java +++ b/spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java @@ -1706,6 +1706,20 @@ void getBeanByNameWithTypeReference() { }); } + @Test + void getBeanByNameWithWildcardTypeReference() { + RootBeanDefinition bd1 = new RootBeanDefinition(StringTemplate.class); + RootBeanDefinition bd2 = new RootBeanDefinition(NumberTemplate.class); + lbf.registerBeanDefinition("bd1", bd1); + lbf.registerBeanDefinition("bd2", bd2); + + Template stringTemplate = lbf.getBean("bd1", new ParameterizedTypeReference<>() {}); + Template numberTemplate = lbf.getBean("bd2", new ParameterizedTypeReference<>() {}); + + assertThat(stringTemplate).isInstanceOf(StringTemplate.class); + assertThat(numberTemplate).isInstanceOf(NumberTemplate.class); + } + @Test void getBeanByTypeWithPrimary() { RootBeanDefinition bd1 = new RootBeanDefinition(TestBean.class);