Sobes.tech
Junior — Middle

V ktorých situáciách sa odporúča použiť anotáciu @Inject pre konštruktory pri používaní Daggera?

sobes.tech AI

Odpoveď od AI

Preporúča sa použiť anotáciu @Inject na konštruktoroch v Daggeri, keď chcete, aby Dagger automaticky vytváral a poskytoval inštancie tejto triedy, spravujúc jej závislosti.

Situácie na použitie @Inject na konštruktor:

  • Trieda je závislosť, ktorú je potrebné injektovať do iných komponentov.
  • Konštruktor nevyžaduje ďalšie parametre, ktoré nie je možné získať cez Dagger.
  • Chcete, aby Dagger automaticky vytváral objekty bez potreby manuálne písania fabrík alebo modulov.

Príklad:

public class UserRepository {
    private final ApiService apiService;

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

Tu Dagger bude vedieť, ako vytvoriť UserRepository, automaticky poskytujúc ApiService.