在创建Bindings时,也可以不给出绑定的目标,通常用于含有@ImplementedBy 和@ProvidedBy (后面介绍)的实类(Concrete classes 或type)。 Untargeted bindings 目的是通知Injector 某个类类型,从而Injector可以预先准备某个依赖。Untargetted Bindings不含to语句。
例如:
bind(MyConcreteClass.class);
bind(AnotherConcreteClass.class).in(Singleton.class);
但如果此时需要同时使用binding annotations 时,需要为绑定添加目标,即使是绑定到同一个实类,如:
bind(MyConcreteClass.class)
.annotatedWith(Names.named("foo"))
.to(MyConcreteClass.class);
bind(AnotherConcreteClass.class)
.annotatedWith(Names.named("foo"))
.to(AnotherConcreteClass.class)
.in(Singleton.class);
本文介绍了在依赖注入框架中使用Untargeted Bindings的方法及其目的。通过示例展示了如何声明Untargeted Bindings,并解释了它们如何帮助Injector提前准备依赖。此外,还讨论了在使用binding annotations时如何为目标绑定添加特定目标。
225

被折叠的 条评论
为什么被折叠?



