Junior — Middle
Da li je moguće implementirati u Daggeru dve metode u istom modulu koje vraćaju isti tip objekta?
sobes.tech АИ
Одговор од АИ
У Dagger-у није могуће једноставно објавити две методе у истом модулу које враћају исти тип објекта без додатне квалификације, јер би то довело до конфликта при решавању зависности. Да бисте реализовали такву ситуацију, морате користити анотације @Qualifier или @Named да бисте разликовали ове зависности. На пример:
@Module
public class MyModule {
@Provides
@Named("typeA")
MyObject provideMyObjectA() {
return new MyObject("A");
}
@Provides
@Named("typeB")
MyObject provideMyObjectB() {
return new MyObject("B");
}
}
На овај начин, приликом инјекције можете назначити жељену варијанту помоћу @Named("typeA") или @Named("typeB").