我在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);
答案 0 :(得分:3)
您想要在ServletContextListener
中创建您的注射器。看看http://code.google.com/p/google-guice/wiki/ServletModule
GIN(客户端的GWT Guice)和Guice(服务器端)之间绝对没有冲突。