Основные элементы(аннотации) Dagger 2:
@Inject
– базовая аннотация, с помощью которой “запрашивается зависимость”@Module
– классы, чьи методы “предоставляют зависимости”@Provide
– методы внутри @Module
, “говорящие Dagger, как мы хотим сконструировать и предоставить зависимость“@Component
– мост между @Inject
и @Module
@Scope
– предоставляют возможность создания глобальных и “локальных синглтонов”@Qualifier
– если необходимы разные объекты одного типа