Domanda
I trovare la risposta per Guice Override Legatura in Guice ma non sanno come fare la stessa cosa per GIN in GWT.
Grazie in anticipo!
Soluzione
Per quanto ne so, non è supportato.
Per rispondere a un commento:
Se si sta eseguendo test JUnit "puri" (non GWTTestcases) non si utilizza GIN, è possibile utilizzare Guice, e in Guice è possibile ignorare i moduli. Se si desidera riutilizzare i moduli gin, poi avvolgerli con GinModuleAdapter
. Così si può fare qualcosa di simile:
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);
Altri suggerimenti
Utilizzare l'annotazione @ImplementedBy
nell'interfaccia.
La classe specificata nel annotazioni sarà l'implementazione di default.
È possibile specificare un'altra implementazione, ignorando in modo efficace il default.
Ad esempio:
@ImplementedBy(MyWidgetImpl.class)
public interface MyWidget {
//...
}
public class MyWidgetImpl implements MyWidget {
//...
}