在GIN旁边使用GUICE

时间:2012-02-20 16:35:00

标签: gwt guice gin

我在GWT项目中成功使用GIN。现在我的RPC服务将需要来自其他层(业务逻辑 - >数据访问)的数据,在过去,我会用所需的方法完成单例服务。 就像是     MyGwtServiceImpl.getData() - > MyServerSideService.getData() - > MyDaoGetDataFromDB()

但是现在单身人士并不受欢迎,我希望测试目的使用注射方法。

我知道我需要知道的是为服务器端安装GUICE,但我不确定应该在哪里创建注入器。通常它会在main方法中完成,但在这里我使用的是GWT。

GIN和GUICE lib之间是否会发生冲突?

我应该在哪里创建注射器?在onModuleLoad?我不确定,因为我的申请将被分成几部分。

感谢您的帮助!


摘要:

  • 按照托马斯给出的教程(答案)
  • 但是为了注入工作,不要忘记在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>
    
  • 在Guice模块中:

     serve("/com.myapp/MyService").with(MyServiceImpl.class);
    

1 个答案:

答案 0 :(得分:3)

您想要在ServletContextListener中创建您的注射器。看看http://code.google.com/p/google-guice/wiki/ServletModule

GIN(客户端的GWT Guice)和Guice(服务器端)之间绝对没有冲突。