Практические советы по использованию Jersey и Guice для сервиса RESTful

Из того, что я могу найти в Интернете, состояние интеграции Guice + Jersey зашло в тупик с 2008 года, когда кажется, что обе команды зашли в тупик. Суть проблемы в том, что аннотации JAX-RS выполняют внедрение полей и методов, и это не очень хорошо сочетается с внедрением собственных зависимостей Guice.

Несколько примеров, которые я нашел, не позволяют понять достаточно:

Пост Икбалюсуфа наДжерси + Guice на Google App Engine Java страдает от большого количества шаблонов (получение вручную и вызов инжектора). Я хочу, чтобы связывание и инъекция происходили за кулисами с помощью аннотаций Guice.

Статья Джонатана КерранаСоздание сервиса RESTful с помощью Jersey, Guice и JSR-250 дал мне надежду, потому что это намного более актуально (2010), но не пошло дальше, чем показ того, как запустить сервис Джерси внутри Guice ServletModule. Тем не менее, нет примеров того, как можно внедрять реальные зависимости. Я полагаю, что это было оставлено в качестве упражнения для читателя. Фактически, пост Куррана может быть правильным первым шагом к подключению Гис и Джерси, и поэтому я планирую начать с этого.

дразнящеДжеймс Страчан пишет:

JAX-RS хорошо работает с интегрированными средами внедрения зависимостей, такими как Spring, Guice, GuiceyFruit или JBossMC - вы можете выбрать тот, который предпочитаете.

Но я не вижу никаких доказательств того, что это правда с точки зрения практикующего.

Чего мне не хватает, так это практических примеров и объяснений о том, как объединить аннотации JAX-RS и Guice. Например:

Я считаю, что не могу использовать конструктор с любым ресурсом, так как Джерси хочет это контролироватьЯ не уверен, смогу ли я объединить @Inject с @PathParam, @QueryParam и др.Как использовать инъекцию в реализации MessageBodyWriter

Есть ли у кого-нибудь примеры, предпочтительно с источником, нетривиального применения, которое объединяет Джерси и Гисе, не жертвуя тем или иным процессом? Я продолжаю в том же духе, но кусочки в списках Джерси и Гиса заставляют меня думать, что я повторяю работу других, которые были до меня.

Ответы на вопрос(11)

Ваш ответ на вопрос