2013-07-20 288 views
0

对于模糊问题的道歉,但通常在多项目环境中如何处理依赖注入?每个模块应该能够定义自己的依赖关系,理想情况下他们将使用相同的依赖关系“容器”。多项目依赖注入

在过去,在单个项目环境中,我开始创建一个依赖对象容器,在该容器中定义了我的implicits,然后在需要依赖时导入。

任何指向正确方向的指针或提示都会有帮助。

回答

1

这将会有点含糊,因为你没有说什么你用什么来进行依赖注入,但是FWIW,我们有一个当前多项目混合的scala/java环境注入了guice,所以这可能会对你有所帮助。

由于guice允许您包含模块(即将一个模块嵌套在另一个模块内),因此允许分层模块结构(他们必须假定人们会像这样使用它 - 甚至还包括分布器中的绘图器,你的模块之间的关系)。所以,例如,你可能有一个包含数据库连接和直接与之交互的各种对象的模块,然后你可以将该模块直接包含与db层交互的任何东西。