use*_*285 5 singleton scala class
我在Scala中遇到了一段看起来像这样的代码:
@Singleton
class MyClass {
// ...
}
Run Code Online (Sandbox Code Playgroud)
但我认为对象是单身人士而且课程不是.这基本上等同于此吗?
object MyClass {
// ....
}
Run Code Online (Sandbox Code Playgroud)
编辑:这是我正在看的.
号其本身而言,@Singleton
注释也绝对没有什么.它旨在由依赖注入(DI)框架使用.@Singleton
向DI框架发出信号,如果另一个类(或许多)将其作为依赖项调用它,它应该只实例化该类的一个实例.
但是,没有什么可以阻止您简单地实例化更多class MyClass
手动实例.
使用object MyClass
,您可以使用Scala编译器创建并强制执行单例.