提交 8f81a122 编写于 作者: J Juergen Hoeller

Added actual overriding test to BeanMethodPolymorphismTests

Issue: SPR-10992
上级 eed1a323
......@@ -36,6 +36,23 @@ import static org.junit.Assert.*;
*/
public class BeanMethodPolymorphismTests {
@Test
public void beanMethodDetectedOnSuperClass() {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Config.class);
ctx.getBean("testBean", TestBean.class);
}
@Test
public void beanMethodOverriding() {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
ctx.register(OverridingConfig.class);
ctx.setAllowBeanDefinitionOverriding(false);
ctx.refresh();
assertFalse(ctx.getDefaultListableBeanFactory().containsSingleton("testBean"));
assertEquals("overridden", ctx.getBean("testBean", TestBean.class).toString());
assertTrue(ctx.getDefaultListableBeanFactory().containsSingleton("testBean"));
}
@Test
public void beanMethodOverloadingWithoutInheritance() {
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
......@@ -112,15 +129,6 @@ public class BeanMethodPolymorphismTests {
assertThat(ctx.getBean(String.class), equalTo("shadow"));
}
@Test
public void beanMethodsDetectedOnSuperClass() {
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
beanFactory.registerBeanDefinition("config", new RootBeanDefinition(Config.class));
ConfigurationClassPostProcessor pp = new ConfigurationClassPostProcessor();
pp.postProcessBeanFactory(beanFactory);
beanFactory.getBean("testBean", TestBean.class);
}
@Configuration
static class BaseConfig {
......@@ -129,7 +137,6 @@ public class BeanMethodPolymorphismTests {
public TestBean testBean() {
return new TestBean();
}
}
......@@ -138,6 +145,22 @@ public class BeanMethodPolymorphismTests {
}
@Configuration
static class OverridingConfig extends BaseConfig {
@Bean @Lazy
@Override
public TestBean testBean() {
return new TestBean() {
@Override
public String toString() {
return "overridden";
}
};
}
}
@Configuration
static class ConfigWithOverloading {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册