在創建Bindings時,也可以不給出綁定的目標,通常用於含有@ImplementedBy 和@ProvidedBy (後面介紹)的實類(Concrete classes 或type)。 Untargeted bindings 目的是通知Injector 某個類類型,從而Injector可以預先準備某個依賴。Untargetted Bindings不含to語句。
例如:
[java] bind(MyConcreteClass.class);
bind(AnotherConcreteClass.class).in(Singleton.class);
bind(MyConcreteClass.class);
bind(AnotherConcreteClass.class).in(Singleton.class);
但如果此時需要同時使用binding annotations 時,需要為綁定添加目標,即使是綁定到同一個實類,如:
[java] bind(MyConcreteClass.class)
.annotatedWith(Names.named("foo"))
.to(MyConcreteClass.class);
bind(AnotherConcreteClass.class)
.annotatedWith(Names.named("foo"))
.to(AnotherConcreteClass.class)
.in(Singleton.class);
摘自 引路蜂移動軟件