我希望通过基于单个@Component泛型类的泛型参数来获得单例bean实例.
(我使用Spring 4.)
我的代码:
我有这样的界面:
public interface Mapper {
...
}
并且它的多个实现是Spring @Components(单例).像这样的东西:
@Component
public class MapperA implements Mapper {
...
}
和
@Component
public class MapperB implements Mapper {
...
}
ClazzAI,ClazzAO,ClazzBI和ClazzBO是基本的Java类.
我有另一个Spring @Component(singleton),它有一个Mapper类作为泛型参数:
@Component
public class TransformerImpl> {
/** The Mapper */
protected final M mapper;
@Inject
private TransformerImpl(final M mapper) {
this.mapper= mapper;
}
...
}
我想像这样使用它:
@Inject
private TransformerImpl transformerA;
@Inject
private TransformerImpl transformerB;
问题 :
但Spring无法实例化这两个对象,因为它创建了Mapper的2个实现:MapperA和MapperB,即使我指定了我想要的实现作为泛型参数.
知道如何制作它而不需要在@Configuration类中实例化所有这些bean吗?