Sobes.tech
Junior — Middle

Koki anotacija Daggeryje naudojama išorinės priklausomybės injekcijai į komponentą?

sobes.tech AI

Atsakymas iš AI

Norint į komponentą Dagger įdiegti išorinę priklausomybę, naudojama anotacija @Component.Builder arba @Component.Factory, o pačios priklausomybės perdavimui — anotacija @BindsInstance.

Pavyzdžiui, jei reikia perduoti objektą, kuris sukurtas už Dagger ribų, galima naudoti @BindsInstance komponento builder'yje:

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

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

Taip @BindsInstance leidžia į komponento priklausomybių grafą įterpti išorinę priklausomybę.