Guice Konfiguration Fehler
Ich versuche, Google Guice mit der @Inject und @Singleton-Eigenschaften wie folgt ein:
Habe ich:
- Ein Modul mit einer leeren
configure()
Methode. - Eine Schnittstelle "ifoo") vom
- Eine Klasse Foo (Umsetzung der "ifoo") vom), annotiert mit @Singleton, mit einem parameterlosen Konstruktor annotiert mit @Inject. Dies ist die einzige annotierten Konstruktor.
Den Klassen-Konstruktor und interface sind öffentlich, und trotzdem bin ich immer die folgende Fehlermeldung:
Keine Implementierung für "ifoo") vom gebunden war.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du meinst, Sie erhalten den Fehler, wenn dies zu tun?
Gut, dann ist es offensichtlich. Wenn die
configure()
leer ist, wie sollte guice wissen, was mit der Klasse zu erfüllen, die Abhängigkeit fürIFoo
.Fügen Sie einfach diese in die
configure()
Methode und es sollte funktionieren. Jetzt guice weiß, was mit der Klasse zu erfüllen, die Abhängigkeit.Wenn Sie nicht möchten, konfigurieren Sie diesen in das Modul, das Sie beschriften können Sie die Schnittstelle. z.B.
Den
@Singleton
Anmerkungen nur erzählt, guice zurück zu der gleichen Instanz der Klasse (Singleton-Muster) jedes mal ein Antrag für die Klasse erfolgt überInjector.getInstance()
anstatt eine neue Instanz zu erstellen jedes mal. Beachten Sie aber, dass dies nur ein Singleton pro Injektor eher dann pro Classloader.