Fixed type detection to avoid reuse of parent bean's targetType on child definition merge

Issue: SPR-10374
This commit is contained in:
Juergen Hoeller
2013-05-15 16:41:32 +02:00
parent 3f7007f73a
commit 070103b17e
4 changed files with 27 additions and 17 deletions

View File

@@ -712,6 +712,20 @@ public class DefaultListableBeanFactoryTests {
factory.getMergedBeanDefinition("child"), factory.getMergedBeanDefinition("child"));
}
@Test
public void testGetTypeWorksAfterParentChildMerging() {
RootBeanDefinition parentDefinition = new RootBeanDefinition(TestBean.class);
ChildBeanDefinition childDefinition = new ChildBeanDefinition("parent", DerivedTestBean.class, null, null);
DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
factory.registerBeanDefinition("parent", parentDefinition);
factory.registerBeanDefinition("child", childDefinition);
factory.freezeConfiguration();
assertEquals(TestBean.class, factory.getType("parent"));
assertEquals(DerivedTestBean.class, factory.getType("child"));
}
@Test
public void testNameAlreadyBound() {
DefaultListableBeanFactory lbf = new DefaultListableBeanFactory();