2025-02-15

在創建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); 

 

 

摘自 引路蜂移動軟件

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *