标签: scala dependency-injection playframework
我无法找到有关Play的运行时依赖注入与Scala中的编译时依赖注入的更多信息。编译时间DI看起来更有吸引力,但Play似乎鼓励相反。此外,所需的样板代码量以及缺少文档令人沮丧。
我的问题是,在Play中使用运行时DI的缺点究竟是什么?当应用程序加载时,并非所有组件都立即连线,这会使故障快速检测到吗?
答案 0 :(得分:1)
我的主要区别在于,在运行时发现布线故障与相应解决方案中的编译时间相关。因此,如果您忘记使用运行时DI将某些接口绑定到实现,则可以在部署应用程序时找到(可能)。你用编译时的DI来节省这个潜在的头痛,代价是冗长。
我建议看看macwire这是一个很好的基于宏的项目编译时DI,它减轻了与样板文件有关的一些问题。
在github上有一个带有macwire的示例游戏项目。