Junior — Middle
Dagger'da bir modulda bir xil turdagi ob'ektni qaytaradigan ikki metodni amalga oshirish mumkinmi?
sobes.tech AI
AIdan javob
Daggerda, bir modulda ikkinchi bir qo'shimcha sifat bilan bir xil turdagi ikki metodni oddiygina e'lon qilish mumkin emas, chunki bu bog'liqlikni hal qilishda muammo tug'iladi. Bunday holatni amalga oshirish uchun, bu bog'liqliklarni ajratish uchun @Qualifier yoki @Named annotatsiyalaridan foydalanish kerak. Masalan:
@Module
public class MyModule {
@Provides
@Named("typeA")
MyObject provideMyObjectA() {
return new MyObject("A");
}
@Provides
@Named("typeB")
MyObject provideMyObjectB() {
return new MyObject("B");
}
}
Shunday qilib, injektsiya qilishda, kerakli variantni @Named("typeA") yoki @Named("typeB") yordamida ko'rsatish mumkin.