Sobes.tech
Junior — Middle

Ce adnotare în Dagger se folosește pentru a injecta o dependență externă într-un component?

sobes.tech AI

Răspuns de la AI

Pentru a injecta o dependență externă într-un component Dagger, se utilizează adnotarea @Component.Builder sau @Component.Factory, iar pentru a transmite dependența în sine, se folosește adnotarea @BindsInstance.

De exemplu, dacă trebuie să transmiteți un obiect creat în afara Dagger, puteți folosi @BindsInstance în builder-ul componentului:

@Component
interface MyComponent {
    void inject(MyClass target);

    @Component.Builder
    interface Builder {
        @BindsInstance
        Builder externalDependency(ExternalDependency dep);
        MyComponent build();
    }
}

Astfel, @BindsInstance permite injectarea unei dependențe externe în graful de dependențe al componentului.