Guice Custom Injection用于构造函数参数

时间:2015-12-11 07:08:24

标签: java dependency-injection guice

我在这里阅读Guice中的自定义注入: https://github.com/google/guice/wiki/CustomInjections

此方案描述了如何创建用于注入类字段的MembersInjector。我能够成功地做到这一点。但是,我不喜欢字段注入的想法,并希望这样做以注入构造函数的参数。

是否有人知道如何在构造函数注入中实现这一目标?

具体做法是:

public class PaymentService {
  private final Logger logger;

  @Inject public PaymentService(@InjectLogger(type="log4j") final Logger logger){
       //the @InjectLogger is the injection point
  }


  ...
}

MembersInjector的文档说"将依赖关系注入到T"类型的字段和方法中:http://google.github.io/guice/api-docs/latest/javadoc/index.html?com/google/inject/MembersInjector.html

这似乎表明应该可以做到这一点。 有什么想法吗?

另外,为了澄清,我需要使用自定义注入,因为我在开发时没有绑定。我必须在运行时根据配置中的注释中的属性绑定记录器。我也无法遍历所有配置密钥。

0 个答案:

没有答案