如何将模块添加到 Play!框架 2.4

Posted

技术标签:

【中文标题】如何将模块添加到 Play!框架 2.4【英文标题】:How to add module to Play! Framework 2.4 【发布时间】:2015-08-25 13:11:03 【问题描述】:

我正在尝试将一些应用程序逻辑分离到模块中。 我创建了应该处理用户的模块(查看配置文件等(模型+控制器))

我已将模块添加到 reference.conf 中

play.modules.enabled += "modules.users"

但是当我尝试访问应用程序时:

Module [modules.users] cannot be instantiated.

创建Custom loader 是唯一选项吗?

【问题讨论】:

【参考方案1】:

此语法仅适用于 runtime 依赖注入:在运行时读取配置,并加载所需的模块。

模块“名称”必须引用 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 更流畅地定义您的模块。

【讨论】:

以上是关于如何将模块添加到 Play!框架 2.4的主要内容,如果未能解决你的问题,请参考以下文章

Play 2.4 添加模块而不是插件

heroku 部署与 play framework 1.2.4 和自己的安全模块

如何将 CDN 与 Play Framework 2.4 资产一起使用?

如何在 Play 中覆盖 CRUD 标签!框架 1.2.4

如何将国产android机添加到google play?

玩! 2.4 添加补充配置文件