Pregunta

Estoy usando Gin con éxito en mi Projet GWT. Ahora mi servicio RPC necesitará datos de otra capa (Lógica de negocios -> Acceso de datos), en el antiguo tiempo habría prestado servicios de Singleton con los métodos necesarios. Algo como mygwtserviceImpl.getData () -> myServerSidService.getData () -> mydaogetDataFromDB ()

Pero hoy en día, Singleton no es realmente apreciado y me gustaría que pruebe el propósito de usar el método de inyección.

Sé que todo lo que necesito saber es instalar Guice para el lado del servidor, pero no estoy realmente seguro de dónde se debe hacer la creación del inyector. Por lo general, se haría en un método principal, pero aquí estoy usando GWT.

¿Habrá conflicto entre Gin y Guice Lib?

¿Dónde debo poner la creación del inyector? en el onmoduleload? No estoy seguro, ya que mi solicitud se dividirá en varios.

¡Gracias por ayudar!


Resumen :

  • Siga el tutorial dado por Thomas (la respuesta)
  • Pero para que la inyección funcione, no olvide reemplazar (eliminar de hecho) en 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>
    
  • Por en un módulo Guice:

     serve("/com.myapp/MyService").with(MyServiceImpl.class);
    
¿Fue útil?

Solución

Le gustaría crear su inyector en un ServletContextListener. Mira esto http://code.google.com/p/google-guice/wiki/servletmodule

No hay absolutamente ningún conflicto entre Gin (Guice para GWT, en el lado del cliente) y Guice (en el lado del servidor).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top