Junior — Middle
¿Cuál es el papel de la anotación @Provides en el contexto de la inyección de dependencias y cuál es su propósito?
sobes.tech AI
Respuesta de la IA
La anotación @Provides se utiliza en bibliotecas de inyección de dependencias (por ejemplo, Dagger en Android) para marcar métodos que crean y proporcionan dependencias. Estos métodos generalmente se encuentran en módulos (@Module) y son responsables de crear objetos que serán inyectados en otras partes de la aplicación.
Por ejemplo, si tienes una clase que depende de un servicio, puedes escribir un método con @Provides que cree ese servicio y permita que el marco de inyección de dependencias lo pase automáticamente donde se necesite.
Ejemplo:
@Module
public class NetworkModule {
@Provides
Retrofit provideRetrofit() {
return new Retrofit.Builder()
.baseUrl("https://api.example.com")
.build();
}
}
De esta manera, @Provides sirve para indicar explícitamente cómo crear dependencias que no pueden ser creadas automáticamente a través de constructores.