Sobes.tech
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.