java我需要一个框架来使用依赖注入吗?
在过去的两天里,我一直在阅读和练习依赖注入,但一切都没有结果,突然我发现依赖注入需要一些框架才能工作。 这是真的吗? 让我的项目依赖于某个框架不是一种糟糕的做法吗? 如果不使用框架,它能做到吗
编辑:我是编程新手,所以我不明白建立一个类和使用它的方法(我不需要一个框架)和使用依赖注入有什么区别,还有什么更好的地方
编辑:这里有一个例子,我没有使用一个框架,事情不起作用TestNG @Factory annotation + not enough knowledge on Dependency Injection
# 1 楼答案
不,您不必使用框架:
Dependency Injection
当然,你也可以使用框架,就像有人说的那样,你可以使用
Spring Framework
并使用他们的注释。这里有一个教程:Dependency Injection with the Spring Framework
# 2 楼答案
您不必使用框架,但它将帮助您编写更清晰的代码。例如,如果希望在不使用框架的情况下将模拟注入类,则需要通过添加getter/setter、将其传递给构造函数或使用公共变量来实现
在上面的代码中,
aMethodToTest()
依赖于aDependentClass.someDependentMethod()
返回的内容。这意味着您应该创建类A
的模拟,并模拟someDependentMethod
返回的内容。这在不使用框架的情况下仍然是可能的,例如,通过添加getter和setter,您可以在testclass中设置对象a:例如,如果您使用spring进行依赖项注入,它将允许您使用它的
@Autowire
符号在它的IOC容器中设置模拟对象。然后,您不需要为模拟对象设置setter/getter,这将为您提供更清晰的代码