Generic matching for ObjectProvider stream and empty vararg resolution
Issue: SPR-11419 Issue: SPR-15338
This commit is contained in:
@@ -801,6 +801,23 @@ public class ConfigurationClassPostProcessorTests {
|
||||
assertSame(ctx.getBean(BarImpl.class), ctx.getBean(FooImpl.class).bar);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testVarargOnBeanMethod() {
|
||||
ApplicationContext ctx = new AnnotationConfigApplicationContext(VarargConfiguration.class, TestBean.class);
|
||||
VarargConfiguration bean = ctx.getBean(VarargConfiguration.class);
|
||||
assertNotNull(bean.testBeans);
|
||||
assertEquals(1, bean.testBeans.length);
|
||||
assertSame(ctx.getBean(TestBean.class), bean.testBeans[0]);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEmptyVarargOnBeanMethod() {
|
||||
ApplicationContext ctx = new AnnotationConfigApplicationContext(VarargConfiguration.class);
|
||||
VarargConfiguration bean = ctx.getBean(VarargConfiguration.class);
|
||||
assertNotNull(bean.testBeans);
|
||||
assertEquals(0, bean.testBeans.length);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCollectionArgumentOnBeanMethod() {
|
||||
ApplicationContext ctx = new AnnotationConfigApplicationContext(CollectionArgumentConfiguration.class, TestBean.class);
|
||||
@@ -1606,6 +1623,18 @@ public class ConfigurationClassPostProcessorTests {
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
static class VarargConfiguration {
|
||||
|
||||
TestBean[] testBeans;
|
||||
|
||||
@Bean(autowireCandidate = false)
|
||||
public TestBean thing(TestBean... testBeans) {
|
||||
this.testBeans = testBeans;
|
||||
return new TestBean();
|
||||
}
|
||||
}
|
||||
|
||||
@Configuration
|
||||
static class CollectionArgumentConfiguration {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user