如何将模块添加到 Play!框架 2.4
How to add module to Play! Framework 2.4
我正在尝试将一些应用程序逻辑分离到模块中。
我已经创建了应该处理用户的模块(查看个人资料等(模型+控制器))
我已将模块添加到 reference.conf
play.modules.enabled += "modules.users"
但是当我尝试访问应用程序时:
Module [modules.users] cannot be instantiated.
创建 Custom loader 是唯一的选择吗?
此语法仅适用于运行时依赖注入:在运行时读取配置,并加载所需的模块。
模块 "name" 必须引用 Guice Module
,您可以在其中定义自定义绑定。
一个完整的例子:
conf/application.conf
play.modules.enabled += "auth.di.AuthModule"
modules/auth/app/di/AuthModule.scala
package auth.di
class AuthModule extends AbstractModule {
def configure() = {
// Binds your services here
}
}
build.sbt
lazy val root = (project in file("."))
.enablePlugins(PlayScala)
.dependsOn(moduleAuth).aggregate(moduleAuth)
lazy val moduleAuth = (project in file("modules/auth"))
.enablePlugins(PlayScala)
提示:使用 scala-guice 可以更流畅地定义您的模块。
我正在尝试将一些应用程序逻辑分离到模块中。 我已经创建了应该处理用户的模块(查看个人资料等(模型+控制器))
我已将模块添加到 reference.conf
play.modules.enabled += "modules.users"
但是当我尝试访问应用程序时:
Module [modules.users] cannot be instantiated.
创建 Custom loader 是唯一的选择吗?
此语法仅适用于运行时依赖注入:在运行时读取配置,并加载所需的模块。
模块 "name" 必须引用 Guice Module
,您可以在其中定义自定义绑定。
一个完整的例子:
conf/application.conf
play.modules.enabled += "auth.di.AuthModule"
modules/auth/app/di/AuthModule.scala
package auth.di
class AuthModule extends AbstractModule {
def configure() = {
// Binds your services here
}
}
build.sbt
lazy val root = (project in file("."))
.enablePlugins(PlayScala)
.dependsOn(moduleAuth).aggregate(moduleAuth)
lazy val moduleAuth = (project in file("modules/auth"))
.enablePlugins(PlayScala)
提示:使用 scala-guice 可以更流畅地定义您的模块。