我的代码看起来像ff。:
Interface i;
if (someCondition) {
ImplementationA a = new ImplementationA();
a.setFieldA(someValueA);
a.setFieldB(someValueB);
i = a;
} else {
ImplementationB b = new ImplementationB();
b.setFieldC(someValueC);
i = b;
}
// Do something with i.
我的问题是:
答案 0 :(得分:1)
动态运行时注入超出范围。您将必须配置通过模块使用的实现。您仍然可以使用工厂(查看多重绑定和辅助注射)并节省您自己设置实例的工作......