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