Sobes.tech
Junior — Middle

Em que situações é recomendado usar a anotação @Inject para construtores ao usar Dagger?

sobes.tech IA

Resposta da IA

Recomenda-se aplicar a anotação @Inject nos construtores no Dagger quando desejar que o Dagger crie e forneça automaticamente instâncias dessa classe, gerenciando suas dependências.

Situações para usar @Inject no construtor:

  • A classe é uma dependência que precisa ser injetada em outros componentes.
  • O construtor não requer parâmetros adicionais que não possam ser obtidos através do Dagger.
  • Você quer que o Dagger crie objetos automaticamente sem precisar escrever fábricas ou módulos manualmente.

Exemplo:

public class UserRepository {
    private final ApiService apiService;

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

Aqui, o Dagger saberá como criar UserRepository, fornecendo automaticamente ApiService.