playframework - 如何扩展playframework?

标签 playframework playframework-1.x

有时有必要扩展一个框架。有时需要 Hook 到请求/响应生命周期,例如参数绑定(bind)或编写安全模块。
如何在 playframework 1.x 中做到这一点?

最佳答案

有两种方法可以扩展 play 1.x。首先,您可以编写自己的模块。这有详细描述here .如果您想提供诸如 iText 之类的库或提供特殊的身份验证机制,这将非常有用。

第二种方法是写一个PlayPlugin .这通常在模块中完成,但这不是必要条件。写一个PlayPlugin需要两个步骤:

  • 编写一个扩展类 PlayPlugin 的类并覆盖它的一些 methods ,例如称为 myPackage.MyPlugin .
  • 注册你的插件。这是通过创建一个名为 play.plugins 的文件来完成的。并将其放入类路径中。该文件必须包含类似 1003:myPackage.MyPlugin 的行.

  • 该数字定义了调用插件的顺序。我建议使用 ids > 1000。如果您希望它在框架插件之前加载,请查看 here (ID 从 1.1.1 开始有效)。

    就是这样。要了解您可以使用插件做什么,请参阅 javadoc .你可以 Hook :
  • 请求/响应周期
  • 绑定(bind)流程
  • 应用程序启动/停止
  • 类加载

  • 不幸的是,javadoc 文档很少,但不要犹豫,看看 playframework 本身的代码。它很容易理解并给你很好的想法。

    关于playframework - 如何扩展playframework?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4699250/

    相关文章:

    java - 如何使用 playframework/jpa 执行批量删除?

    java - 如何使用 Docker 在 Jelastic 上部署 Play 2.5 应用程序?

    java - 使用 Play Framework 和第三方 API 流式传输大文件

    google-chrome - 页面未在 chrome 中加载

    postgresql - 在 Play 1.2.4 Framework 中显示 BLOB 图片

    json - 如何将由 String 和 Seq[String] 值组成的 Scala Map 转换为 JSON?

    Java play 1.2.5 - 反向路由到 Controller 的子包

    java - 在play 1.2.5中使用@before注释?

    java - 检索作业和/或进程