Do I need a framework in order to use Dependency Injection?
在过去的两天里,我一直在阅读和练习依赖注入,但没有解决任何问题,我突然发现,为了使依赖注入发挥作用,需要一些框架。是真的吗?让我的项目依赖于某个框架不是一个坏习惯吗?不使用框架就可以做到吗?
编辑:我对编程很陌生,所以我不明白安装一个类和使用它的方法(我不需要框架)以及使用依赖注入和它的优点之间有什么区别。
编辑:这里有一个例子,我没有使用框架,并且没有工作的东西testng@factory annotation+没有足够的依赖注入知识
不,您不必使用框架:
依赖注入
当然,您也可以使用框架,就像有人说的那样,您可以使用
使用Spring框架的依赖注入
您不必使用框架,但它将帮助您编写更清晰的代码。例如,如果您想在不使用框架的情况下将一个模拟注入到一个类中,您需要某种方法来实现这一点,方法是添加getter/setter,将其传递给构造函数或使用公共变量。
1 2 3 4 5 6 7 8 9 | public class AClassToTest{ private A aDependentClass; public void aMethodToTest(){ int i = aDependentClass.someDependentMethod(); .. .. } } |
在上面的代码中,
1 2 3 4 5 6 | @Test public void testAMethodToTest(){ //here you must set the object A in your AClassToTest object //Create a mock of A with desired values //and set it using a setter } |
例如,如果您使用Spring进行依赖项注入,它将允许您使用它的
对于依赖注入来说,Guice是很好的(个人观点)。至少我发现它比弹簧更好。它也很轻。
https://code.google.com/p/google-guice/