领先一步
VMware 提供培训和认证,以加速您的进步。
了解更多Spring Roo 是一款轻量级的开发工具,可以快速轻松地交付即时结果。最棒的是,您可以 100% 使用 Java 编写代码,并重用您现有的所有 Java 知识、技能和经验。您会喜欢它 - 并且也会获得很多乐趣!阅读TomTom 如何将开发时间缩短一半使用 Spring Roo。
下载 Josh Long 和 Steve Mayzak 编写的名为Roo 入门指南的书籍。您也可以从O'Reilly网站购买印刷版或其他格式的书籍。
Ken Rimple 和 Srini Penchikala 还撰写了权威的 Roo 参考书,名为Spring Roo 实战,可从Manning 出版物购买。
使用 Roo,基于 JPA 的 MVC 应用程序非常简单,但它也简化了您迈向下一代技术的旅程。我们已经支持诸如 Google Web Toolkit (GWT)(用于高级下一代用户界面)、Solr(用于搜索服务器集成)和云部署(如 Google App Engine)等酷炫功能。此外,我们还在积极开发增量数据库内省、Flex、Spring Integration 等功能。
SpringSource 和 Google 正在合作,将 Spring Roo 的快速开发速度与 Google Web Toolkit (GWT) 的强大功能相结合,以构建丰富的浏览器应用程序。立即尝试 Spring Roo 1.1 提供的激动人心的 GWT 和 Google App Engine 支持。
使用 Roo,您仍然可以使用 Java 编写所有代码。它采用创新的方法完全在编译时运行,并且与您的 IDE 完全兼容。此外,由于没有运行时部分,因此采用也得到简化,风险较低。所有 Java 开发人员都将在第一天就感到舒适并提高工作效率。Roo 真正代表着不妥协的生产力。
Spring Roo 是一款面向 Java 开发人员的下一代快速应用程序开发工具。使用 Roo,您可以在几分钟内轻松构建完整的 Java 应用程序。它与其他生产力工具的不同之处在于它专注于
|
|
Roo 使您可以轻松即时访问构建复杂的企业应用程序所需的所有主流 Java 技术。以下仅列出了一些 Roo 基于项目可以立即利用的技术(此外,第三方插件还支持更多技术,或者您可以编写自己的插件)
|
|
|
Roo 的创新方法没有任何妥协
简而言之,Roo 是一个轻量级的控制台 shell,您可以在开发项目时加载它。虽然 Roo shell 可用于在一条快速命令中完成耗时的操作,但大多数时候您只需忽略 Roo 并继续在 IDE 或文本编辑器中开发项目。
当您以正常方式编辑代码时,Roo 会监视您的项目文件并在响应您的操作时自动修改它们。根据您正在运行的 Roo 插件,Roo 可以帮助您处理不同类型的文件。例如,Roo 的 JPA 插件意味着您可以编写一个非常简单的 Hello.java 文件,如下所示
@RooJpaActiveRecord public class Hello { private String world; }
您可能想知道一个只有一个私有字段的 Java 类有什么用。好吧,没多大用。但 Roo 通过使用编译器的“mixin”功能在编译时(而不是运行时)将额外的功能添加到 .class 文件中来解决此问题。这意味着 Hello.class 实际上包含大量有用的成员,而您无需费力编写 - 或维护、调试和测试 - 这些成员。
public class Hello { private String world {..} public String getWorld() {..} public void setWorld(String world) {..} public Long getId() {..} public void setId(Long id) {..} public Integer getVersion() {..} public void setVersion(Integer version) {..} public String toString() {..} public void persist() {..} public void remove() {..} public void flush() {..} public static Long countHellos() {..} public static Hello findHello(Long id) {..} public static List findAllHellos() {..} public static List findHelloEntries(int start, int finish) {..} // there are even more methods }
Roo 方法的巧妙之处在于,您的 Hello.java 没有所有这些噪音和工作量,但您的 Hello.class 非常有用,并且与您的 IDE(代码辅助、调试等)和运行时环境(没有 Roo 依赖项或其他妥协)完全兼容。此外,因为它只是一个普通的 Java 类,因此它在运行时也能出色地执行,并且不会在运行时消耗额外的内存。Roo 完全了解往返过程,并且会在您开发实体时维护 mixin。例如,如果您添加另一个字段,Roo 将立即生成 getter/setter 并更新 toString() 方法。如果您添加 @Id 字段,Roo 将停止生成其标识符字段,而您的字段将优先。如果您自己编写 toString() 方法,当然会使用您的方法,而 Roo 的方法将消失。事实上,如果您注释掉您的 toString() 方法,Roo 的方法将立即返回。这一切都非常简单(而且也很有趣!)。
上面没有立即显而易见的更微妙的因素是 @Roo* 注释是“源保留”的。这意味着它们不会出现在 .class 文件中,这反映了 Roo 的“零锁定”和“无运行时”策略。此外,您可以通过将 Roo 生成的 mixin 源代码的内容直接复制到您的 .java 文件中来轻松摆脱 Roo。事实上,Eclipse 中甚至有一个重构命令可以在几秒钟内完成此操作!哦,如果您不想编写 Hello.java 源文件,您只需使用两个 Roo 制表符感知命令即可完成: “entity --class Hello”、“field String world”。就像我们所说的,这一切都非常简单(而且也很有趣!)。
Roo 的方法为您提供了免锁定、高性能生产力工具的最佳选择。它只需工作即可。尝试一下并亲眼看看。或者转到我们的参考指南以了解为什么您会选择 Roo 作为您的生产力工具。
开始使用 Roo 非常简单。只需按照此页面上的步骤操作,您就可以在几分钟内拥有一个运行环境。
Roo 需要您下载并安装
要获取 Roo,您可以下载其独立的命令行 shell 版本,也可以使用内置于 SpringSource Tool Suite 中的版本。您也可以同时下载两者并一起使用,如果您愿意的话。
如果您下载了独立的 Spring Roo,只需将其解压缩到您选择的任何位置。然后
如果您想了解安装 Roo 后使用它的简便性,此视频将向您展示如何操作。或者,完成以下步骤并亲自尝试。
让我们构建一个项目。我们将在下面的步骤中省略控制台输出。我们还强烈建议您在每个步骤后键入“hint”以帮助学习如何使用 shell。请注意,您需要 Roo 1.2.0 或更高版本才能执行这些命令
mkdir hello cd hello roo roo> hint roo> project --topLevelPackage com.foo roo> jpa setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
roo> entity jpa --class ~.Timer --testAutomatically roo> field string --fieldName message --notNull roo> hint web mvc roo> web mvc setup roo> web mvc all --package ~.web roo> selenium test --controller ~.web.TimerController roo> web gwt setup roo> web gwt all --proxyPackage ~.client.proxy --requestPackage ~.client.request
roo> perform tests roo> quit
哇!您现在拥有了一个 Web 应用程序,其中包含 JUnit 测试、Selenium 测试、MVC 前端、Google Web Toolkit 前端。只需使用“mvn gwt:run”即可使用 GWT 客户端,或使用“mvn tomcat:run”启动 Tomcat MVC 前端并使用 https://127.0.0.1:8080/foo/timers 查看。
接下来,您可能希望键入“mvn eclipse:eclipse”,然后使用 Eclipse 的“常规 > 将现有项目导入工作区”功能。让 Roo shell 保持运行状态,并随时在 Eclipse 中进行编辑。您会看到 Roo 在运行时维护您的文件。如果您在 Roo 未运行时更改任何内容,请不要担心 - 只需加载 Roo,它就会赶上您更改的任何内容。
如果您安装了 SpringSource Tool Suite,只需使用 文件 > 新建 > Roo 项目。然后输入“项目名称”为“Foo”,“包”为“com.foo”。单击“下一步”和“完成”后,您将在 STS 底部看到 Roo shell 加载。然后输入与我们在“第一个项目(Roo 独立版)”部分中看到的相同命令,您可以通过 WTP 轻松运行应用程序。
我们有一个 详细参考指南 来帮助您入门。以下部分可能会提供帮助
我们让学习 Roo 变得很容易。有很多资源可供您在闲暇时间或在一些帮助下学习 Roo。
在继续之前,我们建议您阅读 入门 页面并按照那里的第一步操作。在这里,您将学习如何安装 Roo 并创建您的第一个项目。还有一些链接指向参考指南的重要部分,以帮助您入门。
我们包含了超过 100 页的 Roo 参考文档 在 Roo 下载中以帮助您。指南主要分为四个部分:欢迎使用 Roo、基础附加组件、内部和附加组件开发以及附录。完成 入门 页面后,这是最佳的资源。
访问 社区页面 以了解您可以与更广泛的 Roo 社区联系的众多方式。这不仅是了解 Roo 的好方法,而且非常有趣且非常友好。
大量关于 Spring Roo 的视频和可下载演示文稿可通过 项目链接 页面获得。如果您想介绍 Roo,还可以随时 联系 Spring Roo 项目工程师,我们将很乐意提供最新的幻灯片和路线图信息以进一步帮助您。
Manning 已出版一本“Roo In Action”书籍。访问 http://www.manning.com/rimple 或关注 @RooInAction 以获取最新更新。
Packt Publishing 已出版由 Ashish Sarin 编著的 Spring Roo 1.1 Cookbook。
O'Reilly 已出版 Getting Started with Roo。您还可以下载 本书的开源版本。这本书更像是一个简洁的介绍,而不是参考书。
SpringSource(VMware 的一个部门)提供全面的现场和公开 培训课程,涵盖 Spring 平台,包括 Roo。如果您正在寻找关于 Roo 的详细定制课程,SpringSource 也可以为您提供帮助。
SpringSource 还提供短期 专业服务。常见服务包括设计审查、架构建议和指导服务。
SpringSource 提供全面的开发人员和生产 支持订阅。这些包括针对关键任务环境的 SLA 支持的 24 x 7 x 365 选项。
Roo 社区由数千名使用 Roo 的人组成,从初级 Java 开发人员到 JavaOne 明星,以及介于两者之间的人!Roo 社区具有包容性、友好性,并热烈欢迎您的参与。我们不仅会帮助您学习 Roo,而且很乐意协助您获得使用技巧、路线图信息和架构建议。参与 Roo 社区的方式在本页中详细说明。我们期待收到您的来信!
关注 @SpringRoo 以获取最新的官方新闻和发布公告。如果您对 Roo 的开发进度和其他有趣的更新感兴趣,我们也鼓励您关注 Roo 项目团队工程师。
如果您在 Twitter 上发布关于 Roo 的信息,请在消息中包含 #SpringRoo(请勿使用 #roo 或类似内容)。这将帮助其他人找到您的推文,并且此页面和我们的主页上的 Twitter 小工具也会找到它。请以这种简单快捷的方式让我们(和其他人!)知道您对 Roo 的看法。
Roo 社区论坛 是与社区其他成员沟通以开始使用 Roo、获得使用建议、架构帮助、路线图信息和可能存在的错误的主要方式。您还会发现它是一种轻松联系 Roo 核心项目工程师的方式,所有工程师都在社区论坛上活跃,并且很乐意与您讨论路线图和详细的 Roo 内部信息。
如果您喜欢 Roo,请告诉其他人!最简单的方法是简单地使用 @SpringRoo 推文,但其他方法可能包括公司内部演示文稿、用户组演讲、会议主题演讲等等。Roo 很适合演示,因为它非常友好,而且我们还有很多免费提供且定期更新的演示材料可供您使用(只需在社区论坛上 联系我们)。如果您已经演示过 Roo,请告诉我们,我们会尝试送您一份小巧的 Roo 礼品(通常我们会感谢 SpringSource 提供一些好东西)。
很快我们将推出“应用程序展示”,向其他人展示人们使用 Roo 制作的应用程序。如果您使用 Roo 构建了一个应用程序,并且想提供屏幕截图和一两句话的简短说明,请通过 论坛 与我们联系。
如果您发现错误或有功能创意,请在我们的问题跟踪器中记录它。我们的 问题跟踪器 还可以用于查找其他人提交的功能、评论需求以及投票支持您认为最有用的功能。这是我们确定增强请求的常用方法。
Roo 核心工程师定期在 SpringSource 团队博客 上发布关于 Roo 的博客文章。您还可以通过关注 Roo 类别 直接访问与 Roo 相关的文章。
如果您想深入研究 Roo 代码,第一步是克隆我们的 Git 存储库并遵循根目录中的 readme.txt。我们使用 Maven 构建 Roo,因此构建您自己的版本非常容易(因为您可能已经安装了 Maven 以便使用 Roo!)。您需要的 Git 命令是
git clone git://github.com/SpringSource/spring-roo.git
编写 Roo 代码的一种简单方法是开发一个附加组件。由于 Roo 使用基于 OSGi 的附加组件架构,因此您可以轻松构建其他用户可以找到并安装到其 Roo shell 中的附加组件。
如果您想为 Roo 本身做出贡献(而不是编写外部附加组件),我们也非常欢迎您这样做。查看问题跟踪器或在社区论坛上发布一条消息,概述您感兴趣的工作内容,我们将很乐意提供帮助。