领先一步
VMware 提供培训和认证,助您加速进步。
了解更多到目前为止,你们中的大多数人可能都听说过 Google I/O 上关于 Spring、Roo、STS 和 GWT 的公告。Ben 和 Rod 最近在他们各自的博客文章中对此进行了介绍。如果你错过了主题演讲,我强烈建议观看 YouTube 上的录音以了解最新情况(相关部分从录音的 1:09:00 开始)。
今天,我想提供一些详细的步骤和说明,说明如何使用 Roo 和 STS 创建你的第一个 GWT 应用程序。
在启动Roo shell并开始输入命令之前,我们需要下载并安装所有先决条件。尽管构建可在云端运行的高级单页应用程序涉及许多组件,但您实际上只需要下载适用于您操作系统的STS 2.3.3.M1捆绑包。STS安装包括Roo 1.1.0.M1、带有Spring Insight的tc Server Developer Edition(Speed Tracer集成所需)、Maven 2.2以及Google Plugin for Eclipse (GPE)的访问权限。
安装STS后,我们就可以启动Roo并创建我们的应用程序了。如果您想查看主题演讲中使用的应用程序,请按照以下步骤操作
至此,您已经拥有了一个完全可用的Spring & GWT 2.1应用程序。随意查看Roo为您生成的代码。如果您想了解更多关于此GWT应用程序的底层架构,我推荐Ray Ryan的Google I/O 会议。查看I/O网站上提供的会议录像和幻灯片。
感谢Roo,您可以轻松地本地运行生成的应用程序。如果您的系统上安装了Maven,只需在操作系统命令提示符下输入“mvn gwt:run”。请确保您仍在创建项目时所在的目录中。这将启动GWT开发模式,您可以从中轻松地在浏览器中加载GWT应用程序。为了使用GWT开发模式,您需要安装相关的浏览器插件。如果尚未安装插件,您的浏览器将提示您安装。
与Google的Google Plugin for Eclipse (GPE)团队合作,我们增强了STS,使您可以轻松地将创建的Roo项目导入到您的Eclipse环境中。STS将自动配置您的项目,使其可以在不离开IDE的情况下使用内置的Maven和GWT支持。
从STS导入项目,使用“File -> Import ... -> Maven -> Existing Maven Project”。这将自动配置所有必需的项目设置,安装类路径容器并启动Roo shell。
使用Google的GWT工具,现在可以很容易地在STS中启动应用程序。这允许您调试服务器端代码,更有趣的是,还可以调试您的前端GWT Java代码。从项目的上下文菜单中选择“Debug As -> Web Application”。请选择“ApplicationScaffold.html”HTML页面启动并单击“OK”。只需确认“WAR Directory Selection”对话框以接受默认设置。
在“Console”视图中,您现在可以看到嵌入式GWT开发模式正在启动。此外,GPE的“Development Mode”视图将出现,方便访问已启动的应用程序。请参阅下面的屏幕截图。
此时,您可以随意添加断点并使用Eclipse调试器来熟悉生成的应用程序。
为了尝试Roo出色的往返支持,请打开“Employee”Java源文件并添加一个新字段。例如,添加一个“private String comment”字段并保存文件。请注意Roo将如何立即更新GWT应用程序,将新字段合并到UI和后端代码中。您可以从“Roo Shell”视图中观察到这一点。请注意,STS集成包括指向Roo编辑过的文件的链接,因此您可以打开它们并查看更改。
如果您此时仍然运行着开发模式服务器,请打开“Development Mode”视图并单击视图工具栏中的“Refresh”图标。深呼吸后——大约2-3秒——回到您的浏览器并单击“refresh”。导航到“Employee”屏幕,并注意UI上新添加的字段。您可以通过创建一个新员工并填写“comment”字段来验证服务器代码已完全刷新(包括正确的持久化)。
我们收到了很多关于如何将脚手架应用程序部署到Google App Engine以及它是否能在GAE上运行的问题。它确实可以运行,并且可以在此处进行测试。
部署非常简单,可以在STS内部或从命令行完成。在以下部分中,我将演示如何从命令行部署到GAE。
我希望这些说明和步骤能有所帮助,并鼓励更多人尝试Roo对GWT的支持。请记住,GWT、Roo和STS目前处于里程碑1阶段,因此您实际上可能会遇到限制或意外问题。在这种情况下,请在Spring社区Roo或STS论坛上发帖。我们,SpringSource和Google工程师,很乐意提供帮助,并期待您的反馈。