Junior — Middle
Qual è il ruolo dell'annotazione @Provides nel contesto dell'iniezione delle dipendenze e a cosa serve?
sobes.tech AI
Risposta dell'AI
L'annotazione @Provides viene utilizzata nelle librerie di Dependency Injection (ad esempio, Dagger in Android) per contrassegnare i metodi che creano e forniscono dipendenze. Questi metodi si trovano generalmente nei moduli (@Module) e sono responsabili della creazione di oggetti che verranno iniettati in altre parti dell'applicazione.
Ad esempio, se hai una classe che dipende da un servizio, puoi scrivere un metodo con @Provides che crea questo servizio e permette al framework di DI di passararlo automaticamente dove necessario.
Esempio:
@Module
public class NetworkModule {
@Provides
Retrofit provideRetrofit() {
return new Retrofit.Builder()
.baseUrl("https://api.example.com")
.build();
}
}
In questo modo, @Provides serve a indicare esplicitamente come creare dipendenze che non possono essere create automaticamente tramite i costruttori.