我有两个接口和一个实现的类。
- public interface Widget<C>
- public interface WidgetContainer<C>
- public class DefaultWidgetContainer<C>
DefaultWidgetContainer具有以下单个构造函数:
public class DefaultWidgetContainer<C> implements WidgetContainer<C>{
public DefaultWidgetContainer(List<Widget<C>> widgetList){...}
}
我希望能够通过Autowired使用WidgetContainer,并且它附带了spring上下文中的Widget bean列表。 如何创建这样的对象 WITHOUT ,为我在Configuration带注释类中需要的每种类型显式创建一个新的参数化WidgetContainer? 示例:
//Beans created
@Component
public class TestWidgetOne implements Widget<MyDto>{}
@Component
public class TestWidgetTwo implements Widget<MyPojo>{}
//Beans configured for use
@Autowired //contains only TestWidgetOne
private WidgetContainer<MyDto> dtoWidgetContainer;
@Autowired //contains only TestWidgetTwo
private WidgetContainer<MyPojo> pojoWidgetContainer;