在编写库时,解决类之间依赖关系的最佳方法是什么?

时间:2015-08-03 07:35:41

标签: java spring maven dependency-injection

我正在做一个小型的自制项目,我注意到我希望在其他项目中重用一部分代码。

结论是将此代码移到一个单独的模块中,然后将其发布到我的神器中(我正在使用maven),这样它就可以重用了。

问题是我的新模块中的类相互依赖。通常,当我开发非库项目时,我使用Spring的控制功能反转来解决类之间的依赖关系。但我不能在我的模块中使用依赖注入,因为只有从容器中获取bean时才会解析依赖关系。

因此,让我们想象以下情况:

我的模块中有Class1。它有类型为Class2的字段,它应该是......让我们说...总是相同对象的实例(即单例)。我自己的想法如何解决它:

1)如果Class2不包含任何状态,只有方法(并扮演实用角色)我可以使它只是静态的。因此,我不需要解决此依赖关系,因为我不再需要创建它的实例。但结果是,测试这类课程真的很难。

2)我可以在不使用DI的情况下实现单例模式。静态Class2.getInstance()方法可以工作,对吗?

3)我可以忘记使用单例模式的想法,只使用“new Class2()”表达式创建Class2实例(内联声明或在Class1构造函数中)

4)以某种方式使用依赖注入,因此它可以以“神奇”的方式将我的bean注入另一个而不使用容器。

最好的方法是什么?

0 个答案:

没有答案
相关问题