Java 用于输入列表的Guice FactoryModuleBuilder
我使用Guice辅助注入和FactoryModuleBuilder来帮助构建适配器类,其中一个类封装另一个类Java 用于输入列表的Guice FactoryModuleBuilder,java,guice,assisted-inject,Java,Guice,Assisted Inject,我使用Guice辅助注入和FactoryModuleBuilder来帮助构建适配器类,其中一个类封装另一个类 class MyClassWrapper implements SomeInterface { interface MyClassWrapper.Factory { MyClassWrapper create(MyClass myClass, Database db); } // ... @Inject private MyClassWrapper(@A
class MyClassWrapper implements SomeInterface {
interface MyClassWrapper.Factory {
MyClassWrapper create(MyClass myClass, Database db);
}
// ...
@Inject
private MyClassWrapper(@Assisted MyClass myClass, @Assisted Database db) {
// ...
}
}
假设我想向MyClassWrapper.Factory接口添加另一个方法签名:
List<MyClassWrapper> create(List<MyClass> myClass, Database db);
列表创建(列表myClass,数据库db);
FactoryMethodBuilder能否确定我想要从MyClass对象列表构造MyClassWrapper对象列表?或者我需要手动编写工厂方法实现吗?我认为Guice不支持这种内置方式,但您可以通过注入所需的所有内容来编写自己的方法。(您没有列出任何非@辅助的依赖项;请记住,您可能根本不需要在此处使用Guice。)
你也可以考虑编写一个静态的方法来处理你的<代码>工厂,并在上面调用Guice创建的实现,但是你可能会失去可读性和理解你在简洁代码中得到的东西。