最近我发现自己没有过多地为类定义依赖关系并在构造函数中传递它们,但我总是传递DI容器并将其保存在私有属性中.这样我的类就没有非常明确的依赖关系,当我需要时,我从容器中获取所有内容.
不知怎的,我对这个解决方案有不好的感觉(除了访问容器引起的开销),但我真的不能想到太多的缺点.也许松散的依赖关系定义可能会降低类的可移植性,或者在重构时我会感到惊讶……?
你怎么看待这件事?
绝对错了.不要将DI容器放在物体中;他们不需要知道或关心他们被注射.这不符合“不要打电话给我们;我们会打电话给你.”
原文链接:https://www.f2er.com/javaschema/282009.html这是另一种方式:整个应用程序知道DI引擎,但随后它从中获取所需的bean.
我想你可能会认为注释会改变一些关系,因为现在豆子确实知道它们连接在一起的事实.但是当配置被外部化为XML时,bean确实不知道DI.