Maison > Java > javaDidacticiel > Erreurs de dépendance de Dagger 2 : comment puis-je résoudre le problème « ... ne peut pas être fourni [...] » ?

Erreurs de dépendance de Dagger 2 : comment puis-je résoudre le problème « ... ne peut pas être fourni [...] » ?

Barbara Streisand
Libérer: 2024-12-17 20:03:13
original
463 Les gens l'ont consulté

Dagger 2 Dependency Errors: How Can I Fix the

Comment résoudre les erreurs de dépendance de Dagger 2

Problème : Erreur Dagger 2 : "... ne peut pas être fourni [...]"

Cette erreur se produit lorsque Dagger 2 n'est pas en mesure de fournir une dépendance sans un constructeur annoté @Inject ou un constructeur annoté @Provides. méthode.

Explication :

Dagger 2 s'appuie sur l'injection de dépendances basée sur les annotations pour créer et fournir des objets. Sans un constructeur @Inject ou une méthode @Provides, Dagger n'a aucun moyen de créer la dépendance.

Solutions :

Utiliser l'injection de constructeur :

  • Ajoutez un constructeur annoté @Inject à la classe dépendante. Cela permet à Dagger d'utiliser l'injection de constructeur pour créer l'objet.

Utilisez une méthode @Provides :

  • Créez un module et ajoutez un @Provides -méthode annotée pour fournir la dépendance. Ajoutez ce module à votre composant.

Exemple avec l'injection de constructeur :

class MyDependency {

    // Add `@Inject` annotation to the constructor
    @Inject
    public MyDependency() {}
}
Copier après la connexion

Exemple avec la méthode @Provides :

@Module
public class MyModule {

    @Provides
    public MyDependency provideMyDependency() {
        return new MyDependency();
    }
}

@Component(modules = MyModule.class)
public interface MyComponent {
    MyDependency myDependency();
}
Copier après la connexion

Faites attention aux détails :

  • Assurez-vous fournissez et demandez le même type de dépendance.
  • Vérifiez les fautes de frappe et les annotations incompatibles dans votre code.
  • Vérifiez à nouveau que vous avez ajouté le module nécessaire à votre composant.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal