Question

J'utilise GIN avec succès sur mon projet GWT. Maintenant, mon service RPC aura besoin des données d'autres couches (Business Logic -> Data Access), dans l'ancien temps je l'aurais fait avec des méthodes singleton services nécessaires. Quelque chose comme MyGwtServiceImpl.getData () -> MyServerSideService.getData () -> MyDaoGetDataFromDB ()

Mais de nos jours singleton ne sont pas vraiment apprécié et je voudrais pour tester l'utilisation de but la méthode d'injection.

Je sais tout ce que je besoin de savoir est installer Guice pour le côté serveur, mais je ne suis pas vraiment sûr où doit se faire la création de l'injecteur. Habituellement, il serait fait dans une méthode principale, mais ici j'utilise GWT.

Y aura-t conflit entre GIN et Guice lib?

Où dois-je mettre la création d'injection? dans le onModuleLoad? Je ne sais pas depuis ma demande sera divisée en plusieurs.

Merci de nous aider!


Résumé:

  • Suivez le tutoriel de Thomas (La réponse)
  • Mais pour l'injection au travail, ne pas oublier de remplacer (supprimer en fait) dans 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>
    
  • Par dans un module Guice:

     serve("/com.myapp/MyService").with(MyServiceImpl.class);
    
Était-ce utile?

La solution

Vous voudriez créer votre Injector dans un ServletContextListener. Jetez un oeil à http://code.google.com/p/google-guice / wiki / ServletModule

Il n'y a absolument pas de conflit entre GIN (Guice pour GWT, sur le côté client) et Guice (sur le côté serveur).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top