Junior — Middle
Kas Daggeris võimaldab ühes modulites rakendada kahte meetodit, mis tagastavad sama objekti tüüpi?
sobes.tech AI
Vastus AI-lt
Daggeris ei saa lihtsalt deklareerida kahte meetodit samas modulites, mis tagastavad sama objekti tüüpi ilma täiendava kvalifikatsioonita, kuna see põhjustab sõltuvuse lahendamisel konflikti. Sellise olukorra realiseerimiseks tuleb kasutada annotatsioone @Qualifier või @Named, et neid sõltuvusi eristada. Näiteks:
@Module
public class MyModule {
@Provides
@Named("typeA")
MyObject provideMyObjectA() {
return new MyObject("A");
}
@Provides
@Named("typeB")
MyObject provideMyObjectB() {
return new MyObject("B");
}
}
Seega saab injekteerimisel määrata soovitud variandi, kasutades @Named("typeA") või @Named("typeB").