Junior — Middle
Care este rolul adnotării @Provides în contextul Injectării de Dependințe și care este scopul său?
sobes.tech AI
Răspuns de la AI
A adnotare @Provides este utilizată în bibliotecile de injecție de dependențe (de exemplu, Dagger în Android) pentru a marca metodele care creează și furnizează dependențe. Astfel de metode se află de obicei în module (@Module) și sunt responsabile pentru crearea obiectelor care vor fi injectate în alte părți ale aplicației.
De exemplu, dacă aveți o clasă care depinde de un anumit serviciu, puteți scrie o metodă cu @Provides care va crea acest serviciu și va permite framework-ului DI să îl transmită automat acolo unde este nevoie.
Exemplu:
@Module
public class NetworkModule {
@Provides
Retrofit provideRetrofit() {
return new Retrofit.Builder()
.baseUrl("https://api.example.com")
.build();
}
}
Astfel, @Provides servește pentru a indica explicit modul de creare a dependențelor care nu pot fi create automat prin constructori.