使用 Jersey 2 (HK2) DI 注册 Dropwizard 配置

Registering Dropwizard configuration with Jersey 2 (HK2) DI

在我的 Dropwizard (1.2.4) 应用程序中,我无法将我的 Dropwizard 配置注入由 HK2 实例化的 类。实现此目标的最佳方法是什么?

只需绑定配置实例.

@Override
public void run(final DummyConfiguration conf, Environment env) {
    env.jersey().register(new AbstractBinder() {
        @Override
        public void configure() {
            bind(conf).to(DummyConfiguration.class);
        }
    })
}

现在您可以 @Inject DummyConfiguration 任何您需要的地方。

对于 dropwizard 版本 2.0.1:

@Override
public void run(final YourConfiguration conf, Environment env) throws Exception {
    env.jersey().getResourceConfig().register(new AbstractBinder() {
        @Override
        public void configure() {
            bind(conf).to(YourConfiguration.class);
            // bind other classes
        }
    });

    // register resources
}