Playframework 2.4 Singletons,Object

时间:2015-06-14 08:27:29

标签: playframework-2.4

在Playframework 2.4之前,我使用了创建对象的单例类,现在我看到了Singletons可以使用@Singleton注释实现。

但是,有什么区别?

仅用于使用@Inject()的依赖注入?

我担心带有依赖注入的Playframework 2.4以不必要的复杂方式进入。

1 个答案:

答案 0 :(得分:2)

@Singleton是JSR 330标准的一部分,实际上仅用于依赖注入。它告诉您的DI框架只创建给定类的一个实例,并在您的应用程序中使用该单个实例。来自文档:

  

每次需要组件时都会创建新实例。如果多次使用某个组件,则默认情况下会创建该组件的多个实例。如果您只想要一个组件的单个实例,那么您需要将其标记为单个实例。

您可以将其视为DI框架的指令,仅创建一个实例。没有什么能阻止您使用@Singleton手动创建多个new带注释的类。

scala中的Singleton对象是真正的单例,无法手工实例化。