Maison > Java > javaDidacticiel > Comment corriger l'erreur « ne peut pas être fourni » de Dagger 2 ?

Comment corriger l'erreur « ne peut pas être fourni » de Dagger 2 ?

Barbara Streisand
Libérer: 2024-12-10 16:02:14
original
194 Les gens l'ont consulté

How to Fix Dagger 2's

Correction de l'erreur Dagger 2 : "... ne peut pas être fourni [...]"

Cette erreur se produit lorsque Dagger 2 ne peut pas fournir une dépendance sans constructeur annoté ou une méthode annotée avec @Provides. Pour le résoudre :

1. Ajoutez un constructeur @Inject

Ajoutez un constructeur annoté @Inject à la classe qui n'est pas fournie :

class MyDependency {
    @Inject
    MyDependency() { /**/ }
}
Copier après la connexion

Dagger utilisera ensuite ce constructeur pour créer l'instance.

2. Créer une méthode @Provides dans un module

Vous pouvez également créer une méthode annotée avec @Provides dans un module qui renvoie la dépendance :

@Module
class MyModule {
    @Provides
    MyDependency provideMyDependency() {
        return new MyDependency();
    }
}
Copier après la connexion

Dagger utilisera cette méthode pour créer et fournissez la dépendance.

Supplémentaire Considérations

  • Assurez-vous que la dépendance fournie est du même type que la dépendance demandée (c'est-à-dire pas une superclasse ou une interface).
  • Vérifiez que le composant fournit la dépendance ( par exemple, MyComponent.myDependency()).
  • Si vous utilisez des interfaces, utilisez @Binds pour spécifier l'implémentation fourni.

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!

source:php.cn
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