Sobes.tech
Junior — Middle

Dans quelles situations est-il recommandé d'utiliser l'annotation @Inject pour les constructeurs lors de l'utilisation de Dagger?

sobes.tech IA

Réponse de l'IA

Il est recommandé d'appliquer l'annotation @Inject aux constructeurs dans Dagger lorsque vous souhaitez que Dagger crée et fournisse automatiquement des instances de cette classe, en gérant ses dépendances.

Situations pour utiliser @Inject sur le constructeur :

  • La classe est une dépendance qui doit être injectée dans d'autres composants.
  • Le constructeur ne nécessite pas de paramètres supplémentaires qui ne peuvent pas être obtenus via Dagger.
  • Vous souhaitez que Dagger crée automatiquement les objets sans avoir à écrire manuellement des usines ou des modules.

Exemple :

public class UserRepository {
    private final ApiService apiService;

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

Ici, Dagger saura comment créer UserRepository, en fournissant automatiquement ApiService.