Scala 示例播放轮廓模板中隐式环境值的定义(使用GUI)

Scala 示例播放轮廓模板中隐式环境值的定义(使用GUI),scala,authentication,guice,playframework-2.3,Scala,Authentication,Guice,Playframework 2.3,在发现的剪影实现示例中,例如,在/app/controllers/SignUpController.scala的第28行中使用的隐式“env”值(类型为Environment[User,CachedCookieAuthenticator])在模板中是如何使用Guice定义的 我想我不明白app/utils/di/screetModule.scala中的provideEnvironment是如何通过app/Global.scala第24行中创建的“注入器”将剪影环境“注入”到SignUpContr

在发现的剪影实现示例中,例如,在/app/controllers/SignUpController.scala的第28行中使用的隐式“env”值(类型为Environment[User,CachedCookieAuthenticator])在模板中是如何使用Guice定义的


我想我不明白app/utils/di/screetModule.scala中的provideEnvironment是如何通过app/Global.scala第24行中创建的“注入器”将剪影环境“注入”到SignUpController(例如)的。我看不到provideEnvironment在play剪影slick seed示例中的任何地方被使用,因此我似乎无法确定它的参数(如userService、authenticatorService等)的值

此剪影模块示例使用Guice for scala依赖项注入框架。所有绑定都是在
util.di.screetModule.scala
文件中配置的。还有另一个例子,依赖注入被蛋糕模式取代

[编辑]简而言之:

如果查看
Global.scala
文件,您将找到guice配置。Guice被迫创建每个控制器。每个视图都依赖于控制器,也将由guice管理


如上所述,
screetModule.scala
文件用于配置剪影模块。很少有使用
@注释的方法提供了
。如果你看看这个。Guice每次需要该方法返回的类类型时都会调用该方法,例如:每次Guice需要注入
Environment[User,CachedCookieAuthenticator]
它调用
def provideEnvironment
方法,因为该方法返回此类类型。

感谢您的响应。但我一直在寻求更好地理解如何使用Guice设置/定义环境(我编辑了标题以反映这一点)。如上文第2段所述,我确实知道这是在什么地方完成的;但是,我不明白provideinvironment和其他provide语句是在哪里使用的(除了绑定是如何发挥作用的)。我想一切都是由Guice在幕后设置的,我需要去查看Guice文档,以便更清楚地了解上述内容。