Spring Roo 是一个快速应用程序开发工具,可帮助您使用 java 编程语言快速构建基于 spring 的企业应用程序。Google 应用引擎 是一种云计算技术 ,可让您在 Google 的基础架构上运行您的应用程序。使用 Spring Roo,您可以开发可部署在 Google 应用引擎上的应用程序。在本教程中,我们将开发一个可以在 Google 应用引擎上运行的简单应用程序。
Roo使用 Roo shell配置和 管理您的应用程序。Roo shell 可以作为独立的命令行工具启动,也可以作为 Springsource 工具套件 ide 中的视图窗格启动。
快速有效地创建它
大多数创建应用程序的人都希望使它们更快,并且更有效。这意味着如果他们能够想出一种方法来创建既能为用户服务又能为他们提供所需交易速度的东西,那么这完全有可能正是他们需要做的以获得 最佳效果。
大多数人都将 Google 搜索视为将他们的应用程序推向世界的好方法,而且这似乎是一个很好的起点。推出可以帮助普通民众获得各种项目所需帮助的应用程序意味着与世界上最流行的搜索引擎合作以实现这一目标。因此,您应该着眼于开发适用于 Google 的应用程序,以获得您需要的结果。
先决条件
在开始使用 Roo shell 之前,我们需要下载并 安装所有先决条件。
下载并安装SpringSource 工具套件2.3.3。平方米。Spring Roo 1.1.0.m2 与 STS 捆绑在一起。安装 STS 时,安装程序会询问应该安装 STS 的位置。在该目录中,它将创建一个名为“roo-%release_number%”的文件夹,其中将包含 roo 内容。在您的路径中添加 %spring_roo%/roo-1.1.0.m2/bin 以便您可以从命令行触发 roo 命令。
启动STS并转到仪表板(help->dashboard)
单击扩展选项卡
安装“google plugin for eclipse”和“datanucleus plugin”。
出现提示时重新启动 STS。
安装以上所有内容后,我们就可以开始构建应用程序了。
Conferenceregistration.roo应用程序
会议注册是一个简单的应用程序,演讲者可以在其中自行注册并 创建他们想谈论的会议。因此,我们将有两个实体:演讲者和演示文稿。 按照说明创建应用程序:
打开操作系统命令行 shell
创建一个名为会议注册的目录
转到命令行 shell 中的会议注册目录
消防 Roo 命令。您将看到一个 roo 外壳,如下所示。提示命令为您提供了管理您的应用程序可以采取的下一步行动。
键入提示命令并按回车键。Roo 会告诉您,首先您需要创建一个项目,要创建一个项目,您应该键入“project”然后点击 Tab。提示命令非常有用,因为您不必塞满所有命令;它将始终为您提供此时可以采取的下一个合乎逻辑的步骤。
Roo 提示命令告诉我们必须创建项目,因此键入项目命令,如下所示
project --toplevelpackage com.shekhar.conference.registration --java 6
此命令创建了一个新的 maven 项目,其顶级包名称为 com. Shekhar.conference.registration 并创建了用于存储源代码和其他资源文件的目录。在此命令中,我们还指定我们使用的是 Java 版本 6。
创建项目后,再次输入提示命令,Roo 将告诉您现在必须设置持久性。键入以下命令
persistence setup --provider datanucleus --database google_app_engine --applicationid roo-gae
此命令设置持久性所需的所有内容。它创建 persistence.xml 并在 pom.xml 中添加持久性所需的所有依赖项。我们选择提供者作为 DataNucleus,数据库作为 google_app_engine,因为我们正在为 google app engine 开发我们的应用程序并且它使用自己的数据存储。当我们将应用程序部署到 Google 应用引擎时,也需要Applicationid 。现在我们的持久性设置已经完成。
8. 再次输入提示命令,Roo 会告诉你现在必须创建实体。因此,我们需要创建实体的发言人和演示文稿。要创建扬声器实体,我们将键入以下命令
entity --class ~.domain.speaker --testautomatically
field string --fieldname fullname --notnull
field string --fieldname email --notnull --regexp ^([0-9a-za-z]([-.\w]*[0-9a-za-z])*@([0-9a-za-z][-\w]*[0-9a-za-z]\.)+[a-za-z]{2,9})$
field string --fieldname city
field date --fieldname birthdate --type java.util.date --notnull
field string --fieldname bio
上面六行创建了一个名为 session 的实体,它有不同的字段。在此,我们使用了非空约束、电子邮件正则表达式验证、日期字段。App Engine 上的 Spring Roo 尚不支持枚举和引用,这意味着您还不能定义实体之间的一对一或一对多关系。这些功能在 spring MVC 应用程序上受支持,但 spring MVC 应用程序目前无法部署在应用程序引擎上。Spring Roo Jira 存在这些问题。它们将在未来的版本中得到修复(希望如此 :))。
9. 接下来创建我们应用程序演示的第二个实体。要创建表示实体,请在 Roo shell 上键入以下命令
entity --class ~.domain.presentation --testautomatically
field string --fieldname title --notnull
field string --fieldname description --notnull
field string --fieldname speaker --notnull
以上四行创建了一个名为presentation的jpa实体,位于domain子包中,并添加了三个字段——title、description和speaker。如您所见,发言人以字符串形式添加(只需输入全名)。google app engine 上的 Spring Roo 仍然不支持引用。
10. 现在我们已经创建了我们的实体,我们必须创建我们应用程序的外观,即用户界面。目前,只有 GWT 创建的 UI 在应用引擎上运行。因此,我们将创建 GWT 用户界面。做那个类型
gwt setup
此命令将添加 GWT 控制器以及所有 UI 所需的东西。如果您的 Maven 存储库中没有这些依赖项,则此命令可能需要几分钟。
11. 接下来可以使用以下命令将 log4j 配置为调试级别
logging setup --level debug
12. 退出 Roo shell
13. 如果您的系统上安装了 maven,您可以轻松地在本地运行您的应用程序,只需在您的命令行 shell 中键入“mvn gwt:run”,同时您位于创建项目的同一目录中. 这将启动 GWT 开发模式,您可以测试您的应用程序。请注意,当您从开发环境运行时,应用程序不会在 Google chrome 浏览器中运行。所以,最好在 firefox 中运行它。
14. 要将您的应用程序部署到 Google 应用引擎,只需键入
mvn gwt:compile gae:deploy