通过Google Guice用例进行依赖注入

时间:2012-07-19 02:16:34

标签: dependency-injection guice

我的代码看起来像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.

我的问题是:

  1. 我应该在这里使用依赖注入还是超出了技术的范围?
  2. 如果我在这里使用依赖注入,我该如何使用Google Guice完成它?

1 个答案:

答案 0 :(得分:1)

动态运行时注入超出范围。您将必须配置通过模块使用的实现。您仍然可以使用工厂(查看多重绑定和辅助注射)并节省您自己设置实例的工作......