我正在将Play与Scala一起使用,并且尝试创建一个单例,并且我想从其特征而不是直接注入(inject)它。

例如:

@ImplementedBy(classOf[S3RepositoryImpl])
trait S3Repository {
}
@Singleton
class S3RepositoryImpl extends S3Repository {
}

但这失败并显示错误:



我尝试了几种组合,它们都产生相同的效果。

我来自 Spring 的背景,那里很自然吗?我是否缺少有关Guice如何处理此类注入(inject)的信息?

谢谢。

最佳答案

正如@ Tavian-Barnes所指出的,解决方案是确保您具有以下导入:

import javax.inject.Singleton

关于scala - Guice和Play2 Singleton从特质,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35457242/

10-09 02:09
查看更多