Sobes.tech
Назад к вопросам
Junior — Middle
66

Какую аннотацию в Dagger применяют, чтобы внедрить внешнюю зависимость в компонент?

Компании, где спрашивали
AstonAston

Ответ от нейросети

sobes.tech AI

Для внедрения внешней зависимости в компонент Dagger используется аннотация @Component.Builder или @Component.Factory, а для передачи самой зависимости — аннотация @BindsInstance.

Например, если нужно передать объект, который создаётся вне Dagger, можно использовать @BindsInstance в билдере компонента:

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

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

Таким образом, @BindsInstance позволяет внедрить внешнюю зависимость в граф зависимостей компонента.