Spring Roo团队欣喜地宣布我们第一个1.2.0里程碑版本现已可用。Roo 1.2.0.M1 版本延续了 Roo 的愿景,即快速轻松地构建基于 Spring 的企业级 Java 应用程序。我们倾听了社区的意见,并在本版本中加入了一些最受期待的功能
- 速度提升十倍 (!)。我们知道许多人正在使用 Roo 来处理非常大的项目,因此我们持续关注 Roo 的内部机制,以确保它即使在处理大型项目时也能平稳快速地运行。通过关注性能分析、文件监控、磁盘 I/O、XML 模型和双向转换,我们使 Roo 在大型基准测试项目中的性能提升了十倍。
- 现已采用 Apache 许可证。在 Roo 1.0/1.1 中,我们使用 GPL 许可证来鼓励将对 Roo 的任何改进与社区共享。为了响应反馈,我们已切换到 Apache 软件许可证 2.0 (ROO-2253),因此您可以完全灵活地决定如何在商业和非商业项目中使用 Roo。这也使 Roo 与大多数其他 Spring 项目保持一致。
- 迁移到 GitHub。社交编码正在兴起,GitHub 已成为事实上的开源代码管理站点。我们很高兴将 Roo 的代码库迁移到 GitHub,以便您可以轻松地进行分支、更改和提交拉取请求。这将大大简化接收社区的新贡献。查看 ROO-2708 或访问 https://github.com/SpringSource/spring-roo 获取更多信息。
- 存储库层灵活性。现在可以定义您自己的存储库层方法,并完全了解您在 Roo 管理的 Web 层、集成测试和按需数据机制中的选择。对于那些更喜欢比 Roo 1.0/1.1 的“活动记录”式模型更传统的层次结构方法的人来说,这是一个重大进步。当然,有利于早期方法的理念仍然存在,因此 Roo 仍然完全支持在实体中嵌入方便的活动记录式方法。您可以在 Pizza-Shop 示例(请参阅发行版的 /samples 目录)和 ROO-301 中了解更多关于此新功能的信息。
- 服务层。我们还决定处理另一个社区高度要求的功能:服务层支持。您现在可以轻松地添加服务层(通过 Roo 的“service”命令),并将其用于 Roo 管理的 Web 层、集成测试和按需数据功能。自定义服务层也可以与自定义存储库同时使用,让您可以完全灵活地构建您喜欢的任何应用程序层。您可以在 ROO-340 中阅读更多信息,Stefan Schmidt 也将很快发布一篇博客文章提供更多细节。
- 灵活的 GWT 支持。现在您可以跳过 UI,只让 Roo 管理将您的 RequestFactory 类(EntityProxy、RequestContext 和 Locator)与您的域模型和服务层同步。以前 GWT UI 脚手架是强制性的,但使用 1.2.0.M1,您可以更选择性地控制 Roo 如何与您的项目集成。
- MongoDB 支持。无论您是 Cloud Foundry 用户,还是仅仅是 Mongo 粉丝,我们现在都添加了对将您的实体存储在 MongoDB 中的支持。Mongo 是一个快速、分片感知、无模式的文档数据库,支持 map-reduce,非常适合那些希望将 noSQL 与 Roo 一起使用的人。在 ROO-2693 中了解更多信息。
- 数据库逆向工程 (DBRE) 多模式支持。Roo 中最受欢迎的功能之一是 DBRE 支持,它允许您不仅可以从关系模式构建实体模型,还可以随着模式的变化自动维护该实体层。这采用了一种先模式后代码的开发方法,我们知道有些用户在拥有数百个表的项目中使用 DBRE。作为 ROO-1408 的一部分,我们添加了对 DBRE 同时从多个模式获取其结构的支持,事实上,您甚至可以拥有不同的模式来管理不同 Java 包中的实体。
- Shell 改进。许多人都喜欢 Roo 的易用性,事实上,Shell 已经进入许多其他 VMware 产品。我们很高兴许多小的修复已进入 JLine 1.0 (ROO-2608),并反过来进入 Roo shell(例如,退格键回到上一行终于可以工作了!)。您还可以通过“!”运算符 (ROO-2457) 直接从 Roo shell 运行操作系统命令,启动时的 shell 现在会显示最新的社区推文 (ROO-2677)。
如您所见,我们对 Roo 1.2 做了很多改进,并期待您的反馈。我们还有许多令人兴奋的新功能将在下一个 Roo 1.2 里程碑版本中发布,包括JSF/PrimeFaces (ROO-516) 支持和多模块 Maven (ROO-120) 项目支持。这两个也是社区高度要求的功能。
请记住,这是一个里程碑版本,因此您应该继续在生产项目中使用 Roo 1.1.5。但是,您可能想通过试验包含的示例项目来探索 Roo 1.2.0.M1 中的这些新功能。
我们希望您喜欢这个新版本。请通过 社区论坛 分享您的体验,关注 @SpringRoo 获取最新消息,或在您的推文中使用 #springroo
Alan Stewart,Spring Roo 项目负责人