Guice + Jersey : Добавить все ресурсы и поставщиков без привязки к сервлету Jersey

В настоящее время я работаю над приложением для джерси, использующим Jersey 1.8 в сочетании с Guice 3.0 для DI для моего JPA. Это очень хорошо работает с одной серьезной проблемой, которую я не смог преодолеть:

Мне нужно вручную добавить все классы ресурсов Jersey в 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);

        }
    });
}

Я бы хотел отказаться от использования привязки для каждого отдельного ресурса и поставщика и в документе jersey-guice есть примечание: http://jersey.java.net/nonav/apidocs/1.8/contribs/jersey-guice/com/sun/jersey/guice/ spi / container / servlet / package-summary.html

В основном это означает, что можно передать регистрацию ресурсов jersey сервлету jersey. Однако я не смог справиться с этим с помощью указанного метода:

@Override
     protected Injector getInjector() {
         return Guice.createInjector(new JerseyServletModule() {

             @Override
             protected void configureServlets() {
                 bind(GuiceResource.class);

                 Map params = new HashMap();
                 params.put(PackagesResourceConfig.PROPERTY_PACKAGES, "unbound");
                 serve("/*").with(GuiceContainer.class, params);
             }
         }
     });

К сожалению, я не смог получить больше информации о процессе регистрации ресурсов майки.

Любая помощь будет принята с благодарностью. Конечно, при необходимости я могу предоставить дополнительную информацию! Спасибо.

10
задан Johnnycube 11 August 2011 в 12:58
поделиться