Domanda

Sto usando con successo Gin sul mio GWT Projet. Ora il mio servizio RPC avrà bisogno di dati da altri livelli (logica aziendale -> accesso ai dati), ai vecchi tempi avrei fatto servizi singleton con metodi necessari. Qualcosa come myGwtserviceImpl.getData () -> myServersIsEVice.getData () -> myDAogetDataFromdb ()

Ma al giorno d'oggi Singleton non è molto apprezzato e vorrei che lo scopo del test usa il metodo di iniezione.

So che tutto ciò che devo sapere è installare Guice per il lato server, ma non sono davvero sicuro di dove debba essere fatta la creazione dell'iniettore. Di solito sarebbe fatto con un metodo principale, ma qui sto usando GWT.

Ci sarà conflitto tra Gin e Guice Lib?

Dove devo mettere la creazione dell'iniettore? In the onmoduleload? Non sono sicuro dal momento che la mia applicazione sarà divisa in diversi.

Grazie dell'aiuto!


Riepilogo :

  • Segui il tutorial dato da Thomas (la risposta)
  • Ma affinché l'iniezione funzioni, non dimenticare di sostituire (eliminare in effetti) in web.xml:

    <servlet>
        <servlet-name>MyService</servlet-name>
        <servlet-class>com.myapp.MyServiceImpl</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>MyService</servlet-name>
        <url-pattern>/com.myapp/MyService</url-pattern>
    </servlet-mapping>
    
  • Di in un modulo Guice:

     serve("/com.myapp/MyService").with(MyServiceImpl.class);
    
È stato utile?

Soluzione

Vorresti creare il tuo iniettore in un ServletContextListener. Dai un'occhiata a http://code.google.com/p/google-guice/wiki/servletmodule

Non esiste assolutamente alcun conflitto tra Gin (Guice per GWT, sul lato client) e Guice (sul lato server).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top