Ich versuche zum ersten Mal Dolch und, nach der Konfiguration des Moduls, bekomme ich einen Fehler, den ich nicht verstehe.Dolch: Klasse konnte nicht mit Schlüssel gebunden werden
Mein Code ist:
public class Parrot {
private Language language;
@Inject
public Parrot(Language language) {
this.language = language;
}
public void sayHello() {
System.out.println(language.getSalute());
}
}
public interface Language {
public String getSalute();
}
public class EnglishLanguage implements Language {
@Override
public String getSalute() {
return "Hello!";
}
}
Mein Modul
@Module(
injects = Language.class
)
public class PetShopModule {
@Provides Parrot provideParrot(Parrot parrot){
return parrot;
}
}
Und in dem Code Ich benutze es auf diese Weise
EnglishLanguage lang=SystemApp.getSystemLanguage();
ObjectGraph objectGraph = ObjectGraph.create(new PetShopModule());
objectGraph.inject(myLanguage);
Parrot parrot = objectGraph.get(Parrot.class);
Der Compiler beschwert sich mit:
error: com.example.petshop.Language could not be bound
with key com.example.petshop.Language required by com.example.petshop.PetShopModule
for com.example.petshop.PetShopModule
Was mache ich falsch?
Hinweis: Dies ist nur ein vereinfachtes Beispiel, in dem realen Code die English eine Systemklasse ist, und ich kann es nicht ändern, noch schaffen, nur um eine Referenz