【发布时间】:2011-08-11 12:58:22
【问题描述】:
我目前正在使用 Jersey 1.8 和 Guice 3.0 for DI 为我的 JPA 开发球衣应用程序。这对我无法克服的一个主要问题非常有效:
我必须使用 bind 手动将所有 Jersey 资源类添加到 JerseyServletModule:
@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 doc 中找到了一个注释:http://jersey.java.net/nonav/apidocs/1.8/contribs/jersey-guice/com/sun/jersey/guice/spi/container/servlet/package-summary.html
它基本上表明可以将球衣资源的注册传递给球衣servlet。但是我无法使用上述方法来管理这个:
@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);
}
}
});
遗憾的是我无法获得更多关于球衣资源注册过程的信息。
任何帮助将不胜感激。当然,如果需要,我可以提供更多信息! 谢谢。
【问题讨论】: