Sobes.tech
Junior — Middle

Milline annotatsioon Daggeris kasutatakse välise sõltuvuse sisestamiseks komponendisse?

sobes.tech AI

Vastus AI-lt

Et teha Daggeri komponendisse väline sõltuvus sisestada, kasutatakse annotatsiooni @Component.Builder või @Component.Factory, ning sõltuvuse enda edastamiseks — annotatsiooni @BindsInstance.

Näiteks, kui on vaja edastada objekt, mis on loodud väljaspool Daggerit, saab kasutada @BindsInstance komponendi builderis:

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

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

Sellisel viisil võimaldab @BindsInstance sisestada väline sõltuvus komponendi sõltuvuste graafi.