使用google-guice注入列表的最佳方法是什么?
2022-09-03 01:22:29
我有三个类,和实现接口。CircleBuilder
SquareBuilder
TriangleBuilder
ShapeBuilder
我需要用google-guice为每个类的一个实例初始化我的,特别是一个(扩展)。FormBuilder
BuilderList
List<ShapeBuilder>
最好的方法是什么?
我知道提供程序方法和类似的东西:
@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;
}
但这意味着我必须手动创建,这违背了使用guice的目的(因为这是我的对象图中的顶级元素)。FormBuilder
FormBuilder
我希望能够写这样的东西:
bind(BuilderList.class).to(CircleBuilder.class);
bind(BuilderList.class).to(TriangleBuilder.class);
bind(BuilderList.class).to(SquareBuilder.class);
有什么想法吗?