Junior — Middle
¿Se puede implementar en Dagger dos métodos en un mismo módulo que devuelvan el mismo tipo de objeto?
sobes.tech AI
Respuesta de la IA
En Dagger no se puede simplemente declarar dos métodos en un mismo módulo que devuelvan el mismo tipo de objeto sin una calificación adicional, ya que esto provocaría un conflicto al resolver la dependencia. Para implementar tal situación, se deben usar las anotaciones @Qualifier o @Named para distinguir estas dependencias. Por ejemplo:
@Module
public class MyModule {
@Provides
@Named("typeA")
MyObject provideMyObjectA() {
return new MyObject("A");
}
@Provides
@Named("typeB")
MyObject provideMyObjectB() {
return new MyObject("B");
}
}
De esta manera, al inyectar, se puede especificar la opción deseada usando @Named("typeA") o @Named("typeB").