class ClassA {
protected ClassA(Injector baseGraph,
BlobStoreContext context,
SwiftApi api,
@Memoized Supplier<Set<? extends Location>> locations,
@Assisted String regionId,PayloadSlicer slicer,
@Named(PROPERTY_USER_THREADS) ListeningExecutorService userExecutor) {
}
}
class ClassB extends ClassA {
protected ClassB(Injector baseGraph,
BlobStoreContext context,
SwiftApi api,
@Memoized Supplier<Set<? extends Location>> locations,
@Assisted String regionId,
PayloadSlicer slicer,
@Named(PROPERTY_USER_THREADS) ListeningExecutorService userExecutor) {
super(baseGraph, context, api, locations, regionId, slicer, userExecutor);
}
}
class C extends AbstractModule {
protected void configure() {
bind(classA).to(classB);
}
}
Il y a un problème dans les arguments du constructeur lors de la liaison.Création de Guice Exception - Non lié Assigné
erreur que je reçois
Causée par: com.google.inject.CreationException: Guice erreurs de création:
1) Pas de mise en œuvre pour Java.lang.String annotée avec @ com.google. inject.assistedinject.Assisted (value =) a été lié. tout en localisant Java.lang.String annoté avec @ com.google.inject.assistedinject.Assisted (value =) pour le paramètre à 4
Pourquoi appelez-vous le constructeur de la superclasse de 'ClassB' dans le constructeur' ClassB'? Ceci n'est normalement pas conseillé. –