Какие аннотации в Dagger используются для включения класса в граф зависимостей?

В Dagger для включения класса в граф зависимостей используются следующие аннотации:

Короткий ответ

Что ответить на собеседовании

В Dagger для включения класса в граф зависимостей используются следующие аннотации:

Подробный разбор

Ответ с пояснениями

В Dagger для включения класса в граф зависимостей используются следующие аннотации:

  • @Inject — помечает конструктор, поле или метод, чтобы Dagger мог создавать экземпляры или внедрять зависимости.
  • @Module — аннотирует класс, который предоставляет зависимости через методы, помеченные @Provides.
  • @Provides — указывает метод внутри модуля, который возвращает объект для внедрения.
  • @Component — интерфейс, который связывает модули и точки внедрения, создавая граф зависимостей.

Пример:

public class Engine {
    @Inject
    public Engine() {}
}

@Module
class CarModule {
    @Provides
    Engine provideEngine() {
        return new Engine();
    }
}

@Component(modules = CarModule.class)
interface CarComponent {
    Car buildCar();
}

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку