有时有必要扩展一个框架。有时需要挂钩到请求/响应生命周期,例如参数绑定或编写安全模块。如何在 playframework 1.x 中做到这一点?
问问题
9015 次
1 回答
43
有两种方法可以扩展 play 1.x。首先,您可以编写自己的模块。这在此处进行了详细描述。如果您想提供诸如 iText 之类的库或提供特殊的身份验证机制,这将非常有用。
第二种方法是写一个PlayPlugin
。这通常在模块中完成,但这不是必要条件。编写 aPlayPlugin
需要两个步骤:
- 编写一个扩展类的类
PlayPlugin
并覆盖它的一些方法,例如调用myPackage.MyPlugin
。 - 注册你的插件。这是通过创建一个名为的文件
play.plugins
并将其放入类路径中来完成的。该文件必须包含类似1003:myPackage.MyPlugin
.
该数字定义了调用插件的顺序。我建议使用 ids > 1000。如果您希望它在框架插件之前加载,请看这里(ids 自 1.1.1 起有效)。
就是这样。要了解使用插件可以做什么,请参阅javadoc。你可以挂钩:
- 请求/响应周期
- 绑定过程
- 应用程序启动/停止
- 类加载
不幸的是,javadoc 文档很少,但不要犹豫,看看 playframework 本身的代码。它很容易理解并给你很好的想法。
于 2011-01-15T11:38:25.357 回答