В Hilt для включения классов в граф зависимостей используются следующие основные аннотации:
Какие аннотации в Hilt используются для включения классов в граф зависимостей?
В Hilt для включения классов в граф зависимостей используются следующие основные аннотации:
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Hilt для включения классов в граф зависимостей используются следующие основные аннотации:
@Inject— помечает конструктор, поле или метод, чтобы Hilt мог предоставить зависимость.@Module— обозначает класс, который предоставляет зависимости через методы с аннотацией@Provides.@InstallIn— указывает, в какой компонент (например, SingletonComponent, ActivityComponent) устанавливается модуль.@Singletonи другие скоупы — задают область жизни зависимости.
Пример:
@Module
@InstallIn(SingletonComponent::class)
object NetworkModule {
@Provides
@Singleton
fun provideApiService(): ApiService {
return Retrofit.Builder()
.baseUrl("https://example.com")
.build()
.create(ApiService::class.java)
}
}
class Repository @Inject constructor(private val apiService: ApiService) {
// ...
}
Таким образом, @Inject и @Module с @InstallIn — ключевые аннотации для включения классов в граф зависимостей Hilt.