我有一个名为BaseProcessor
的接口,以及几个实现类。
现在,在一个类(ValidationComponent
)中,我想要拥有一个所有BaseProcessor实现类的列表,像这样: List<BaseProcessor> processors;
所有的实现类都有一个注解为@Inject
的构造函数。
现在,目前我正在做这件事:
在ValidationComponent
类中,
private List<BaseProcessor> processors;
@Inject
public ValidationComponent(@NonNull final ProcessorImpl1 processor1,
@NonNull final ProcessorImpl2 processor2,
@NonNull final ProcessorImpl3 processor3) {
this.processors = new ArrayList<>();
this.processors.add(processor1);
this.processors.add(processor2);
this.processors.add(processor3);
}
为了将实现传递给构造函数,dagger正在创建这些实现的实例,因为它们都有
@Inject
构造函数。现在,我能否使用Dagger来为我创建所有这些实现实例,而不是在构造函数中传递每个具体实现?
我知道Spring框架通过使用
@Component
Spring注解来注释实现是可能的。Dagger有没有办法?