1

我只想在我的代码的某些部分使用依赖注入。我正在使用HubSpot/dropwizard-guice来集成 drop-wizard 和 guice。有没有一种方法可以在不更改整个项目的情况下以编程方式访问 guice 对象实例。基本上我会用 guice 对象替换初始化的对象,这样我就不必一次更改所有内容。

这是我的申请文件

public class HelloWorldApplication extends Application<HelloWorldConfiguration> {

  public static void main(String[] args) throws Exception {
    new HelloWorldApplication().run(args);
  }

  @Override
  public void initialize(Bootstrap<HelloWorldConfiguration> bootstrap) {

    GuiceBundle<HelloWorldConfiguration> guiceBundle = GuiceBundle.<HelloWorldConfiguration>newBuilder()
      .addModule(new HelloWorldModule())
      .enableAutoConfig(getClass().getPackage().getName())
      .setConfigClass(HelloWorldConfiguration.class)
      .build();

    bootstrap.addBundle(guiceBundle);
  }

  @Override
  public String getName() {
    return "hello-world";
  }

  @Override
  public void run(HelloWorldConfiguration helloWorldConfiguration, Environment environment) throws Exception {
  }
}

有没有一种方法可以访问 guice 注入器,而无需在整个项目中明确地将其作为方法参数传递?

或者有没有办法直接从guice获取类实例。

4

0 回答 0