Junior — Middle
Milline on annotatsiooni @Provides roll sõltuvuste süstimise kontekstis ja milleks see on mõeldud?
sobes.tech AI
Vastus AI-lt
@Provides annotation kasutatakse sõltuvuste süstimise teekondades (näiteks Dagger Androidis), et märkida meetodid, mis loovad ja pakuvad sõltuvusi. Sellised meetodid asuvad tavaliselt @Module moodulites ning vastutavad objektide loomise eest, mis süstitakse teistesse rakenduse osadesse.
Näiteks, kui teil on klass, mis sõltub teatud teenusest, saate kirjutada meetodi @Provides-ga, mis loob selle teenuse ja võimaldab DI raamistikul automaatselt selle vajalikku kohta üle anda.
Näide:
@Module
public class NetworkModule {
@Provides
Retrofit provideRetrofit() {
return new Retrofit.Builder()
.baseUrl("https://api.example.com")
.build();
}
}
Seega, @Provides näitab selgelt, kuidas luua sõltuvusi, mida ei saa automaatselt konstruktorite kaudu luua.