Sobes.tech
Junior — Middle

Milyen annotációt használnak a Dagger-ben, hogy külső függőséget injektáljanak egy komponensbe?

sobes.tech MI

Válasz az MI-től

A Dagger komponensbe külső függőség injektálásához az @Component.Builder vagy @Component.Factory annotációt használják, és a függőség átadásához az @BindsInstance annotációt.

Például, ha egy olyan objektumot kell átadni, amelyet a Daggeren kívül hoztak létre, az @BindsInstance-t használhatod a komponens builderében:

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

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

Így az @BindsInstance lehetővé teszi külső függőség injektálását a komponens függőségi gráfjába.