我很高兴地宣布,我们刚刚发布了 Spring Roo 1.1.0.M1。Spring Roo 是 Java 开发人员使用 Java 编程语言构建基于 Spring 的应用程序的最快方法。使用 Roo 1.1.0.M1,您只需 200 次按键即可构建完整的 Web 应用程序 - 包括 Google Web Toolkit (GWT) 前端!此外,像往常一样,我们同时发布了新版本的 SpringSource Tool Suite (STS 2.3.3.M1),它针对最新最好的 Roo 功能进行了优化!
自三个月前的 1.0.2 版本以来,有超过 200 个修复、增强和新功能。一些亮点包括
- Spring MVC 集成改进:这些改进意味着 Roo 1.0.2 中 130 行的 JSPX 文件现在只有 12 行。更好的是,现在有完整的双向同步。Roo 可以自动检测您在受管理的 JSPX 文件中所做的更改,并确保它保留您的更改。这是 Web 层双向同步的一个非常重要的改进,但这并没有止步于此!我们还添加了直接在 JSPX 中编写新标签的功能、自动工作流服务、更丰富的默认脚手架以及更好的扩展点。
- Google Web Toolkit (GWT) 支持:我一直是 GWT 的忠实粉丝,我很高兴我们现在已经开始了在 Roo 中全面支持 GWT 的旅程。对于不熟悉 GWT 的人来说,它是一项令人印象深刻的技术,它允许您编写 Java 代码并将其自动编译成高度优化的 JavaScript 以供浏览器执行(无需特殊的插件)。这是一种编写快速 Web 应用程序的好方法,这些应用程序具有视觉效果丰富、易于开发和易于维护的 UI 代码。GWT 在 Java 中提供一流开发体验的理念也完全符合 Roo 在 Java 中提供一流开发体验的理念,因此添加此集成是自然而然的。新的“gwt setup”命令将为您提供一个带有脚手架桌面和移动设备入口点的 Web 应用程序,以及在修改实体时进行双向更改。它甚至建立在 GWT 2.1 的最新功能之上,例如新的绑定小部件和远程支持。试试看,玩得开心!
- Google App Engine (GAE) 支持:最近一段时间,我们一直在努力为 Spring 平台生态系统添加对越来越多的云平台的支持。在这个新版本的 Roo 中,我很高兴地分享我们现在支持 Google App Engine。因此,现在您可以使用“persistence setup --provider DATANUCLEUS --database GOOGLE_APP_ENGINE”Roo 命令并自动获得完整的 GAE 兼容配置。部署也非常容易,只需“mvn gae:deploy”。此外,STS 2.3.3.M1 在“Extensions”选项卡中提供了与 Google Plugin for Eclipse (GPE) 的完整集成,使您的 Roo-STS-GAE-GWT 体验极其流畅。
- Apache Solr 搜索服务器:一个令人兴奋的新功能是通过 Solr 自动索引实体。这使您可以拥有一个专用的搜索服务器来索引您的对象并通过 REST API 查询它们(也支持 JSONP)。
- Maven Central 依赖项:我们很高兴地响应社区的偏好,即 Roo 生成的项目使用 Maven Central 组 ID、工件 ID 和版本号。
- Java Persistence API (JPA) 2 支持:Roo 1.1.0 将我们的默认依赖项更改为最新发布的 Hibernate 和 OpenJPA 版本。
- 复合键支持:Roo 1.1.0 的另一个新功能是定义复合键的能力。这是我们数据库反向工程功能的前兆。
- 可序列化附加组件:一个可爱的新附加组件是可序列化附加组件。这意味着 Roo 将自动为您的实体计算正确的 serialVersionUID。
- OSGi 基础:我们已经更改了 Roo 基础架构,使其完全基于 OSGi。因此,当您在命令行(或通过 SpringSource Tool Suite)启动“roo”时,OSGi 容器将启动并加载所有 Roo 捆绑包。这意味着我们将在不久的将来拥有一个更简单的方法来支持复杂的附加组件。
- Cygwin 支持:我们确保 Roo 在 Cygwin 上运行,包括“roo”独立客户端以及用于从源代码构建的“roo-dev”开发脚本。当然,Roo 仍然可以在 Windows 独立版、Mac 和(我最喜欢的)Linux 上完美运行。
- 改进的控制台消息:Roo 现在将在处理您的项目时输出更有意义的控制台消息。例如,您可以看到哪些依赖项正在添加到您的 pom.xml 中。
- 最新的 Spring 平台项目和常用依赖项:项目现在使用更新版本的 Spring 平台和常用依赖项,如 Log4J、ActiveMQ 等。一个特别值得注意的增强功能是 AspectJ 1.6.9,它现在使用 ITD 成员编译出更漂亮的 .class 文件。
- 许多改进使附加组件开发更容易:现在编写 Roo 附加组件更容易了。我们已将新挂钩添加到常用组件(如 MVC 附加组件)中以启用自定义、简化与 web.xml 等常用文件交互的新抽象、更轻松的增量文件更改以及数十个其他小改进。
那么在过去三个月里 Roo 还发生了什么?相当多
- 我们已从 Subversion 切换到 Git(不用担心,我们保留了所有版本历史记录、标签等)
- 一个 更新的网站
- 采用了新的 Spring Roo 徽标
- 创建了 @SpringRoo Twitter ID,人们可以关注 Roo 新闻并找到一个方便的 Roo 工程师 Twitter ID 列表
- 赠送了许多 免费袋鼠
- 举办了一系列网络研讨会,有 800 多人参加
- 在许多会议和 JUG 上重点介绍了 Roo
作为里程碑版本,Roo 1.1.0.M1 不适用于关键任务用途。在接下来的几个月里,我们将为 1.1.0 版本添加大量其他新功能,包括
- 增量数据库反向工程
- 对新的 Solr 和复合键功能的用户界面支持
- 更多 Spring MVC UI 抛光,例如更深入的 JavaScript 库集成
- 转向基于 OBR 的模型来发现、解析、下载和安装附加组件
- Roo 本身的性能调整
- 文档
- Ant/Ivy(视时间可用情况而定)
这篇文章已经很长了,所以我将推迟撰写有关如何使用其中一些新功能的未来文章(更新:我的同事 Christian Dupuis 和 Jon Travis 已经写了博客文章关于 使用 STS 创建新的 GWT 项目 和 Spring Insight Google 改进)。在此期间,我希望您喜欢下载 Roo 1.1.0.M1 并试用它。我们很乐意收到您的来信 - 只需在您的推文中包含 @SpringRoo 或访问 社区论坛。玩得开心!