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

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

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

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

sobes.tech AI

В 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();
}