Sobes.tech
Junior — Middle
85

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

Companies where asked
Ubic

Answer from AI

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