我到处搜索了如何在 Jersey 2.0 中使用 HK2 依赖注入的基本示例,但都没有找到。
从这个问题看来,您需要创建一个扩展类AbstractBinder
。但是,该示例的其余部分显示了如何通过编辑 web.xml 文件向您的应用程序注册活页夹。但是,我想避免这种情况,而是HttpServer
直接在我的实例中注册活页夹。
这是我为我的 HttpServer 编写的:
int port = config.getInt("port", 8080);
boolean useFake = config.getBoolean("fake", false);
final URI baseUri = URI.create("http://" + "localhost" + ":" + port + "/");
List<Binder> binders = Arrays.asList((Binder)new StatusModule(useFake),
(Binder)new NetworkModule(useFake));
final ApplicationHandler applicationHandler = new ApplicationHandler();
applicationHandler.registerAdditionalBinders(binders);
WebappContext webappContext = new WebappContext("Webapp context", "/resources");
HttpServer server = GrizzlyHttpServerFactory.createHttpServer(
baseUri, applicationHandler);
for(NetworkListener listener : server.getListeners()){
listener.setCompression("on");
}
server.getServerConfiguration().addHttpHandler(
new StaticHttpHandler("/jersey2app/www"), "/static");
任何帮助将不胜感激。