我有三個類CircleBuilder
,SquareBuilder
和TriangleBuilder
實現了ShapeBuilder
接口。用google-guice注入列表的最佳方式是什麼?
我需要初始化我的FormBuilder
,特別是BuilderList
(擴展List<ShapeBuilder>
),每個類的一個實例使用google-guice。
什麼是最好的方法?
我瞭解供應商的方法和這樣的東西:
@Provides
FormBuilder provideFormBuilder() {
DatabaseTransactionLog instance = new FormBuilder (<numerous parameters>);
ShapeBuilder builder = null ;
builder = new CircleBuilder(<numerous parameters>) ;
instance.addBuilder(builder) ;
builder = new SquareBuilder(<numerous parameters>) ;
instance.addBuilder(builder) ;
// And so on
return instance;
}
,但那就意味着我要創建我的FormBuilder
手動這違背了使用吉斯的目的(因爲FormBuilder
是在頂部元件我對象圖)。
我很樂意能寫這樣的事:
bind(BuilderList.class).to(CircleBuilder.class);
bind(BuilderList.class).to(TriangleBuilder.class);
bind(BuilderList.class).to(SquareBuilder.class);
任何想法?
注:multibinding需要另一個罐子 - >吉斯 - multibindings-3.0.jar –