Sobes.tech
Junior — Middle

W jakich sytuacjach zaleca się stosowanie adnotacji @Inject dla konstruktorów podczas korzystania z Dagger?

sobes.tech AI

Odpowiedź od AI

Zaleca się stosowanie adnotacji @Inject do konstruktorów w Dagger, gdy chcesz, aby Dagger automatycznie tworzył i dostarczał instancje tej klasy, zarządzając jej zależnościami.

Sytuacje do użycia @Inject na konstruktorze:

  • Klasa jest zależnością, którą trzeba wstrzyknąć do innych komponentów.
  • Konstruktor nie wymaga dodatkowych parametrów, których nie można uzyskać przez Dagger.
  • Chcesz, aby Dagger automatycznie tworzył obiekty bez konieczności ręcznego pisania fabryk lub modułów.

Przykład:

public class UserRepository {
    private final ApiService apiService;

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

Tutaj Dagger będzie wiedział, jak utworzyć UserRepository, automatycznie dostarczając ApiService.