Restore original factory method caching (addressing Boot regressions)
Issue: SPR-17358
This commit is contained in:
@@ -83,10 +83,13 @@ public class BeanMethodQualificationTests {
|
||||
new AnnotationConfigApplicationContext(CustomConfig.class, CustomPojo.class);
|
||||
assertFalse(ctx.getBeanFactory().containsSingleton("testBean1"));
|
||||
assertFalse(ctx.getBeanFactory().containsSingleton("testBean2"));
|
||||
assertTrue(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"),
|
||||
"testBean2", ctx.getDefaultListableBeanFactory()));
|
||||
// TODO: assertTrue(BeanFactoryAnnotationUtils.isQualifierMatch(value -> value.equals("boring"),
|
||||
// "testBean2", ctx.getDefaultListableBeanFactory()));
|
||||
CustomPojo pojo = ctx.getBean(CustomPojo.class);
|
||||
assertThat(pojo.testBean.getName(), equalTo("interesting"));
|
||||
TestBean testBean2 = BeanFactoryAnnotationUtils.qualifiedBeanOfType(
|
||||
ctx.getDefaultListableBeanFactory(), TestBean.class, "boring");
|
||||
assertThat(testBean2.getName(), equalTo("boring"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -136,8 +139,10 @@ public class BeanMethodQualificationTests {
|
||||
}
|
||||
|
||||
@Bean @Boring
|
||||
public TestBean testBean2() {
|
||||
return new TestBean("boring");
|
||||
public TestBean testBean2(@Lazy TestBean testBean1) {
|
||||
TestBean tb = new TestBean("boring");
|
||||
tb.setSpouse(testBean1);
|
||||
return tb;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -150,8 +155,10 @@ public class BeanMethodQualificationTests {
|
||||
}
|
||||
|
||||
@Bean @Boring @Scope("prototype")
|
||||
public TestBean testBean2() {
|
||||
return new TestBean("boring");
|
||||
public TestBean testBean2(TestBean testBean1) {
|
||||
TestBean tb = new TestBean("boring");
|
||||
tb.setSpouse(testBean1);
|
||||
return tb;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -164,8 +171,10 @@ public class BeanMethodQualificationTests {
|
||||
}
|
||||
|
||||
@Bean @Boring @Scope(value="prototype", proxyMode=ScopedProxyMode.TARGET_CLASS)
|
||||
public TestBean testBean2() {
|
||||
return new TestBean("boring");
|
||||
public TestBean testBean2(TestBean testBean1) {
|
||||
TestBean tb = new TestBean("boring");
|
||||
tb.setSpouse(testBean1);
|
||||
return tb;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -191,8 +200,10 @@ public class BeanMethodQualificationTests {
|
||||
}
|
||||
|
||||
@Bean @Qualifier("boring") @Lazy
|
||||
public TestBean testBean2() {
|
||||
return new TestBean("boring");
|
||||
public TestBean testBean2(@Lazy TestBean testBean1) {
|
||||
TestBean tb = new TestBean("boring");
|
||||
tb.setSpouse(testBean1);
|
||||
return tb;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,8 +216,10 @@ public class BeanMethodQualificationTests {
|
||||
}
|
||||
|
||||
@Bean @Qualifier("boring")
|
||||
public TestBean testBean2() {
|
||||
return new TestBean("boring");
|
||||
public TestBean testBean2(@Lazy TestBean testBean1) {
|
||||
TestBean tb = new TestBean("boring");
|
||||
tb.setSpouse(testBean1);
|
||||
return tb;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user