Dagger 2

Основные элементы(аннотации) Dagger 2:

  1. @Inject – базовая аннотация, с помощью которой “запрашивается зависимость”
  2. @Module – классы, чьи методы “предоставляют зависимости”
  3. @Provide – методы внутри @Module, “говорящие Dagger, как мы хотим сконструировать и предоставить зависимость“
  4. @Component – мост между @Inject и @Module
  5. @Scope – предоставляют возможность создания глобальных и “локальных синглтонов”
  6. @Qualifier – если необходимы разные объекты одного типа
    1. @Subcomponents - организация зависимостей в под проекты