類ShinyCoinProvider
和RustyCoinProvider
都執行Provider<Coin>
並且每個產生具有略微不同屬性的對象。在Google Guice中顯式提供程序綁定
另一組兩個客戶類RichPlayer
和PoorPlayer
需要自動注入Guice庫的的實例。
現在,Guice需要使用ShinyCoinProvider
中的Richplayer
和RustyCoinProvider
中的PoorPlayer
類。
因此很簡單,bind().toProvider()
在這裏是不夠的。
如何將不同的提供程序顯式綁定到不同的客戶端類,其中提供的Object的類型是否相同?與@Named( 「richplayer」)這樣的
bind(Coin.class).annotatedWith(Names.named("richplayer")).toProvider(ShinyCoinProvider.class)
和註釋硬幣場Richplayer:
謝謝。我很困惑,'@ Named'只在被定義時用於標識類。將嘗試此解決方案。 –