【发布时间】:2015-10-11 08:04:46
【问题描述】:
我正在尝试研究如何在 Play Framework 2.4 中使用依赖注入。我熟悉一般原则,但并不真正了解设计的含义。我的一般推理是,控制器类中的静态方法太像使用全局变量了,这很容易导致线程安全等问题,而且通常会鼓励糟糕的设计。所以既然 Play 现在鼓励切换到依赖注入,我也应该切换。
我感到困惑的是,在这种情况下,好的做法是什么。当我阅读 Play 官方文档时,它简要介绍了依赖注入,然后立即提到了 @Singleton 注释。并且可用示例 (http://www.typesafe.com/activator/template/play-guice) 也谈到了单例“WelcomeTextGenerator”类。
所以我想知道,我是否应该像示例所暗示的那样使用单例对象?如果是这种情况,与旧的静态方法方法相比有什么优势?是否存在应该是单例的特定对象类型(例如控制器?),以及不将对象标记为单例是否会影响性能?
【问题讨论】:
标签: java dependency-injection singleton playframework-2.4