Какие аннотации в 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.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку