numaralı anahtarla bağlanamadı. İlk kez hançer deniyorum ve modülü yapılandırdıktan sonra anlayamadığım bir hata alıyorum.Hançer: class
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!";
}
}
Benim modül
@Module(
injects = Language.class
)
public class PetShopModule {
@Provides Parrot provideParrot(Parrot parrot){
return parrot;
}
}
Ve kodda ben o
EnglishLanguage lang=SystemApp.getSystemLanguage();
ObjectGraph objectGraph = ObjectGraph.create(new PetShopModule());
objectGraph.inject(myLanguage);
Parrot parrot = objectGraph.get(Parrot.class);
derleyici ile şikayet bu şekilde kullanabilirsiniz:
Benim kodudur
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
Neyi yanlış yapıyorum?
Not: Bu EnglishLanguage bir sistem sınıftır gerçek kodda sadece basitleştirilmiş bir örnektir ve sadece yerine sen yorumlamaya bir referansı