Junior — Middle
Ar Dagger galima įgyvendinti du metodus viename modulyje, kurie grąžina tą patį objekto tipą?
sobes.tech AI
Atsakymas iš AI
Dagger'e, be papildomos kvalifikacijos galima paprastai deklaruoti du metodus viename modulyje, kurie grąžina tą patį objekto tipą, nes tai sukeltų priklausomybės konfliktą. Norint įgyvendinti tokią situaciją, reikia naudoti @Qualifier arba @Named anotacijas, kad atskirtumėte šias priklausomybes. Pavyzdžiui:
@Module
public class MyModule {
@Provides
@Named("typeA")
MyObject provideMyObjectA() {
return new MyObject("A");
}
@Provides
@Named("typeB")
MyObject provideMyObjectB() {
return new MyObject("B");
}
}
Taip, injekcijos metu galima nurodyti norimą variantą naudojant @Named("typeA") arba @Named("typeB").