java - 与模块相比,在 Play Framework 2 中创建/使用插件有哪些优点/差异?

标签 java plugins module playframework-2.0

我对 Play Framework 2 比较陌生,我想知道在 Play Framework 2 中创建/使用插件相对于模块有哪些优点/差异? 我的意思是为什么要通过开发插件向项目添加一些东西以及为什么通过创建模块?我把事情搞混了吗?

最佳答案

模块只是一个 Play 应用程序,旨在在另一个应用程序中使用而不是独立使用,因此基本上是一个 Play 项目,它会生成一个可以依赖/包含在 Play 应用程序中的 jar。它可以包含您将在应用程序中明确包含或使用的实用程序类、预先编写的 Controller 、模板等。这是一个关于编写模块的很好的教程:http://www.objectify.be/wordpress/?p=363

插件将绑定(bind)到 Play 应用程序生命周期,以便您可以在应用程序启动时设置和初始化资源,并在停止时清除它们。例如数据库连接池,因为初始化成本昂贵而被缓存的东西,也可能是不应该在应用程序重新启动时存在的东西,您通常将其放入单例中,这将破坏测试,因为同一个单例将在多个应用程序中重用运行测试时的实例。

如果深入了解的话,很多游戏部分实际上都是作为插件实现的。

插件通常作为模块分发,但它们也可以成为应用程序代码库的一部分。

关于java - 与模块相比,在 Play Framework 2 中创建/使用插件有哪些优点/差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21877325/

相关文章:

python - 避免模​​ block 命名空间中的子模块和外部包

Java 字体渲染

java - 在 Camunda 中运行时添加事件处理程序(ExecutionListener 或 TaskListener)

c# - CRM 2011 插件 (C#) - 遍历表单子(monad)网格中的记录

java - 在 Eclipse 中安装 Maven,无需插件

plugins - 如何将 Maven 插件上传到 Nexus 存储库?

Java:将一个对象扩展到另一个对象

java - 数据库数据过滤最佳实践

在多模块项目中使用 Gradle 的 Android AspectJ

function - 不导入模块不区分大小写。我需要原始输出而不是较低的输出