如何仅使用注解将相同类型的bean组合成一个数组?

How to combine beans with the same type into an array by using annotations only?

我有几个豆子:

@Bean
public MyBean myBean1(){
    return new MyBean(1);
}

@Bean
public MyBean myBean2(){
    return new MyBean(2);
}

@Bean
public MyBean myBean3(){
    return new MyBean(3);
}

我想将它们合并为一个集合并作为参数传递。 类似于:

@Bean
public MyFinalBean myFinalBean(Collection<MyBean> myBeans){
    return new MyFinalBean(myBeans);
}

是否可以仅将 bean 与注释结合起来? IE。不使用 applicationContext.getBeansOfType(MyBean.class);?

的单独方法

Spring 能够将实现相同接口的所有 bean 自动装配到该接口的一个集合中。以下代码工作正常:

@Bean
public MyFinalBean myObject(List<MyBean> lst) {
    return new MyFinalBean(lst);
}