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.