Obecnie pracuję nad aplikacją do koszulki z Jersey 1.8 w połączeniu z Guice 3.0 dla DI dla mojego JPA. To działa bardzo dobrze z jednym z głównych kwestii, która nie byłem w stanie przezwyciężyć:Guice + Jersey: Dodaj wszystkie zasoby i dostawców bez wiązania do Jersey Servlet
trzeba ręcznie dodać wszystkie klasy Jersey środki na JerseyServletModule użyciem wiąże:
@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);
}
});
}
Chciałbym, aby móc ommit użycie bind dla każdego zasobu i dostawcy i znalezione w dokumencie jersey-guice uwaga: http://jersey.java.net/nonav/apidocs/1.8/contribs/jersey-guice/com/sun/jersey/guice/spi/container/servlet/package-summary.html
W zasadzie stwierdza, że można przekazać rejestrację zasobów jersey do serwletu jersey. Jednak nie był w stanie poradzić sobie z tym za pomocą wspomnianej metody:
@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);
}
}
});
Niestety nie mogłem uzyskać więcej informacji na temat procesu rejestracji zasobów Jersey.
Każda pomoc zostanie doceniona. Oczywiście, jeśli to konieczne, mogę podać dodatkowe informacje! Dziękuję.
Dzięki, bardzo pomocne! Miałem ten sam problem. –