Sobes.tech
Junior — Middle

В кои ситуации се препоръчва използването на анотацията @Inject за конструктори при използване на Dagger?

sobes.tech AI

Отговор от AI

Препоръчва се да прилагате анотацията @Inject към конструкторите в Dagger, когато искате Dagger автоматично да създава и предоставя екземпляри на този клас, управлявайки зависимостите му.

Ситуации за използване на @Inject върху конструктора:

  • Класът е зависимост, която трябва да бъде инжектирана в други компоненти.
  • Конструкторът не изисква допълнителни параметри, които не могат да бъдат получени чрез Dagger.
  • Искате Dagger автоматично да създава обекти без да е необходимо да пишете фабрики или модули ръчно.

Пример:

public class UserRepository {
    private final ApiService apiService;

    @Inject
    public UserRepository(ApiService apiService) {
        this.apiService = apiService;
    }
}

Тук Dagger ще знае как да създаде UserRepository, автоматично предоставяйки ApiService.