Назад к вопросам
amoCRM
Junior — Middle
71
Каким образом осуществляется внедрение объекта в Dagger для внедрения зависимостей?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Dagger внедрение объекта (dependency injection) происходит через аннотации и генерацию кода.
Основные шаги:
-
Определение модуля (@Module) — класс, который предоставляет зависимости с помощью методов, помеченных
@Provides. -
Компонент (@Component) — интерфейс, который связывает модули и места внедрения зависимостей.
-
Внедрение (@Inject) — поля или конструкторы, куда Dagger будет подставлять зависимости.
Пример внедрения объекта через конструктор:
class Engine {
@Inject
Engine() {}
}
class Car {
private final Engine engine;
@Inject
Car(Engine engine) {
this.engine = engine;
}
}
@Component
interface CarComponent {
Car getCar();
}
Здесь Dagger автоматически создаст объект Engine и внедрит его в Car при создании через CarComponent.
Таким образом, внедрение объекта в Dagger осуществляется через аннотацию @Inject и связывается через компоненты и модули.