Назад к вопросам
Junior — Middle
65
Какие компоненты включены в состав Dagger dependency injection фреймворка?
Ответ от нейросети
sobes.tech AI
Основные компоненты Dagger — это:
- @Module — класс, который предоставляет зависимости через методы с аннотацией @Provides.
- @Component — интерфейс, связывающий модули и места внедрения зависимостей. Отвечает за генерацию кода для внедрения.
- @Inject — аннотация, используемая для обозначения конструкторов, полей или методов, куда нужно внедрить зависимости.
- @Scope — аннотация для определения области жизни зависимостей (например, Singleton).
Пример:
@Module
class NetworkModule {
@Provides
Retrofit provideRetrofit() {
return new Retrofit.Builder()...build();
}
}
@Component(modules = NetworkModule.class)
interface AppComponent {
void inject(MainActivity activity);
}
class MainActivity {
@Inject Retrofit retrofit;
void onCreate() {
DaggerAppComponent.create().inject(this);
}
}