用guice玩框架2.1.3

时间:2013-08-22 12:07:12

标签: playframework guice playframework-2.1

我知道play提供了Global#getControllerInstance来支持控制器类的guice DI。

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

我谷歌很多,但还是找不到解决方案......

1 个答案:

答案 0 :(得分:2)

一旦你设置了模块(the blog post linked above is helpful),就可以像往常一样使用直接注入或构造函数注入,与Play!无关。构造函数注入示例:

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

然后,从控制器内部,只注入一个SomeClass的实例。

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