我在这里阅读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
这似乎表明应该可以做到这一点。 有什么想法吗?
另外,为了澄清,我需要使用自定义注入,因为我在开发时没有绑定。我必须在运行时根据配置中的注释中的属性绑定记录器。我也无法遍历所有配置密钥。