Я успешно использую GIN на моем проекте GWT. Теперь моей RPC-службе понадобятся данные из другого уровня (Business Logic -> Data Access), в прежние времена я делал одноэтапные сервисы с необходимыми методами.
Что-то вроде
MyGwtServiceImpl.getData () -> MyServerSideService.getData () -> MyDaoGetDataFromDB ()
Но в настоящее время синглтон не очень ценится, и я хотел бы для целей тестирования использовать метод впрыска.
Я знаю все, что мне нужно знать, это установить GUICE для серверной стороны, но я не совсем уверен, где нужно делать создание инжектора. Обычно это делается основным способом, но здесь я использую 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>
By в модуле Guice:
serve("/com.myapp/MyService").with(MyServiceImpl.class);