Guice 构造函数参数的自定义注入

2023-12-19

我在这里阅读了 Guice 中的自定义注入:https://github.com/google/guice/wiki/CustomInjections 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 http://google.github.io/guice/api-docs/latest/javadoc/index.html?com/google/inject/MembersInjector.html

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

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


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Guice 构造函数参数的自定义注入 的相关文章

随机推荐