Wie man die Bindung in Gin überschreibt
Frage
Ich finde die Antwort auf Guice Übergeordnete Bindung in Guice Aber nicht wissen, wie man das Gleiche für Gin in GWT macht.
Danke im Voraus!
Lösung
Soweit ich weiß, wird es nicht unterstützt.
Um Ihren Kommentar zu beantworten:
Wenn Sie "reine" JUNIT -Tests (nicht GWTTestCasen) durchführen, verwenden Sie Gin nicht, Sie verwenden Guice und in Guice können Sie Module überschreiben. Wenn Sie Gin -Module wiederverwenden möchten, wickeln Sie sie mit verwenden GinModuleAdapter
. So können Sie so etwas tun:
static class MyGinModule extends GinModule {
...
}
static class MyGuiceModule extends AbstractModule {
...
}
// And somewhere in your code, here's how you could create the Injector
Module myWrappedGinModule = new GinModuleAdapter(new MyGinModule());
Module myModule = Modules.override(myWrappedGinModule).with(new MyGuiceModule());
Injector injector = Guice.createInjector(myModule);
Andere Tipps
Verwenden Sie das @ImplementedBy
Annotation in Ihrer Schnittstelle.
Die in der Annotation angegebene Klasse ist die Standardimplementierung.
Sie können eine andere Implementierung angeben und die Standardeinstellung effektiv überschreiben.
Zum Beispiel:
@ImplementedBy(MyWidgetImpl.class)
public interface MyWidget {
//...
}
public class MyWidgetImpl implements MyWidget {
//...
}