有时有必要扩展一个框架。有时需要 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 :
不幸的是,javadoc 文档很少,但不要犹豫,看看 playframework 本身的代码。它很容易理解并给你很好的想法。
关于playframework - 如何扩展playframework?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4699250/