В настоящее время я работаю над использованием джерси с использованием Jersey 1.8 в сочетании с Guice 3.0 для DI для моей JPA. Это очень хорошо работает с одной серьезной проблемой, которую я не смог преодолеть:
Мне нужно вручную добавить все классы ресурсов Джерси в модуль JerseyServletModule, используя bind:
@Override
protected Injector getInjector() {
return Guice.createInjector(new JerseyServletModule() {
@Override
protected void configureServlets() {
install(new JpaPersistModule("DBName"));
filter("/*").through(PersistFilter.class);
/* bind the REST resources and serve*/
bind(Hello.class);
serve("/*").with(GuiceContainer.class);
}
});
}
Я хотел бы иметь возможность опустить использование привязки для каждого отдельного ресурса и провайдера и найти в описании джерси-guice примечание: http://jersey.java.net/nonav/apidocs/1.8/contribs/jersey-guice/com/sun/jersey/guice/spi/container/servlet/package-summary.html
В основном говорится, что можно пройти регистрацию ресурсов трикотажа на сервлете джерси. Однако я не смог управлять этим, используя указанный метод:
@Override
protected Injector getInjector() {
return Guice.createInjector(new JerseyServletModule() {
@Override
protected void configureServlets() {
bind(GuiceResource.class);
Map<String, String> params = new HashMap<String, String>();
params.put(PackagesResourceConfig.PROPERTY_PACKAGES, "unbound");
serve("/*").with(GuiceContainer.class, params);
}
}
});
К сожалению, я не мог получить больше информации о процессе регистрации ресурсов трикотажа.
Любая помощь будет оценена по достоинству. Конечно, я могу предоставить дополнительную информацию, если это необходимо! Спасибо.