1

我知道 play 提供 Global#getControllerInstance 来支持 guice DI 到 Controller 类。

但是这种方式似乎只适用于 Controller 类,现在我想将我的一些服务类注入其他类(而不是类扩展 Controller)。我该怎么做?

我google了很多,还没有找到解决方案...

4

1 回答 1

2

设置好模块后(上面链接的博客文章很有帮助),您可以像往常一样使用直接注入或构造函数注入,与 Play! 无关。构造函数注入示例:

class SomeClass @Inject() (dependencyA: DependencyA, userRepo: UserRepo) {
  // then, use `dependencyA` and `userRepo`
} 

然后,从控制器内部,只需注入一个SomeClass.

请参阅scala-guice以获得更好的 Scala API for guice。

于 2013-08-23T20:54:23.970 回答