Back to questions
Junior — Middle
69
Какие аннотации в Hilt используются для включения классов в граф зависимостей?
Companies where asked
Ubic
Answer from AI
sobes.tech AI
В 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.