首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

构建您的第一个 Grails 应用程序(1)

构建您的第一个 Grails 应用程序(1)

请允许我借助另一种开源 Web 开发框架 —— Ruby on Rails —— 来介绍 Grails。Rails 一发布就迷住了开发人员。Rails 的脚手架功能使您可以用以前所需时间的一小部分完成一个新的项目。支持 Rails 的约定优于配置(convention over configuration)思想意味着,应用程序可以根据常识性的命名模式自动进行组装(auto-wire),而不必借助繁杂的、容易出错的 XML 配置文件。Ruby 的元编程功能使对象可以神奇地在运行时继承所需的方法和字段,而不会扰乱源代码。
Rails 配得上它所受到的赞美和推崇(现在仍然如此),但是它使 Java 开发人员面临困难的选择。您会因为一个新平台的承诺而放弃自己熟悉的 Java 平台吗?如何处理已有的 Java 代码、已有的生产服务器和经验丰富的 Java 开发人员?
关于本系列Grails 是一种新型 Web 开发框架,它将常见的 Spring 和 Hibernate 等 Java 技术与当前流行的约定优于配置等实践相结合。Grails 是用 Groovy 编写的,它可以提供与遗留 Java 代码的无缝集成,同时还可以加入脚本编制语言的灵活性和动态性。学习完 Grails 之后,您将彻底改变看待 Web 开发的方式。

Grails 为您提供 Rails 风格的开发体验,同时以可靠的 Java 技术作为坚强后盾。但是 Grails 不仅仅是 Rails 通往 Java 平台的简单入口。Grails 吸取了 Rails 的经验,并将它们与现代 Java 开发的意识相结合。可以认为 Grails 是受 Rails 启发,而不是由 Rails 转化而来
作为 Grails 入门 系列的开篇,本文介绍 Grails 框架,展示它的安装方法,遍览如何构建第一个 Grails 应用程序:介绍本系列后续文章的内容。
Groovy 的威力就像 Rails 与 Ruby 编程语言联系非常紧密一样,Grails 也离不开 Groovy(请参阅 )。Groovy 是一种动态语言,它在 JVM 上运行,并且与 Java 语言无缝集成。如果阅读了 developerWorks 上的大型  系列,那么您已经了解了这种语言的威力。如果没有,也不必担心 — 在学习 Grails 的过程中,您将了解到很多关于 Groovy 的知识。Groovy 应该不难学,因为它是特意为 Java 开发人员而设计的。
例如,Groovy 可以大大减少 Java 代码的数量。在 Groovy 中,不再需要为字段编写 getter 和 setter 方法,因为 Groovy 会自动提供它们。不再需要编写 for Iterator i = list.iterator() 来循环遍历一系列的项;list.each 可以做相同的事情,而且看上去更简洁,表达更清晰。简言之,Groovy 就是 21 世纪的 Java 语言。
如果 Java 开发人员只有重新编写整个应用程序才能利用 Groovy,那么 Groovy 对他们就没有多大的吸引力了。令人高兴的是,Groovy 可以无缝地与已有的代码库集成。Groovy 不会替代 Java 语言 — 它只是提供了增强。您可以很快地掌握 Groovy,因为说到底,Groovy 代码就是 Java 代码。这两种语言是如此兼容,甚至可以将一个 .java 文件重命名为一个 .groovy 文件 — 例如,将 Person.java 改为 Person.groovy — 从而得到一个有效的(可执行的)Groovy 文件(虽然这个 Groovy 文件并没有用到 Groovy 提供的任何语法)。
Groovy 与 Java 语言的深度兼容意味着 Grails 不需要重新创造内部使用的关键技术。相反,您可以以 Groovy 的方式查看熟悉的 Java 库。Groovy 封装了 JUnit TestCase 并以 GroovyTestCase 形式提供。Grails 通过 GANT 对 Ant 构建进行了调整,GANT 是 Ant 的一个纯 Groovy 实现。Grails 将 Hibernate 包装在一个小小的 Groovy facade 中,并称之为 GORM — Grails Object/Relational Mapper。Grails 使您在利用已有的 Java 经验的同时,还可以利用最新的 Web 开发实践,以上只是其中的三个例子。
不过,要想全面地鉴赏 Grails,还需要亲身体验一下。现在,让我们来安装 Grails,并创建第一个 Web 应用程序。
安装 Grails运行 Grails 应用程序所需的一切都在一个 ZIP 文件中。所有的依赖库 — 例如 Groovy、Spring 和 Hibernate — 都已经在那里,随时可以使用。要安装 Grails:
  • 从 Grails 站点(见 )下载并解压 grails.zip。
  • 创建一个 GRAILS_HOME 环境变量。
  • 将 $GRAILS_HOME/bin 添加到 PATH 中。
的确 需要安装一个 JDK(Grails 是不错,但是还没有好到 那种程度)。Grails 1.0 可在 Java 1.4、1.5 和 1.6 上运行。如果不知道已经安装了哪个版本,可以在命令行提示符下输入 java -version。必要时,下载并安装一个与 Grails 兼容的 JDK(见 )。
完成安装步骤后,输入 grails -version 以进行检查。如果看到以下友好信息,则说明一切都得到正确配置:
1
2
3
Welcome to Grails 1.0 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: /opt/grails




附带的 Web 服务器和数据库使用免费附带品对于本文的应用程序,您将使用 Grails 免费提供的 Web 服务器和数据库。在将来的文章中,我将详细说明如何在您自己的服务器上运行 Grails。在此期间,请经常访问 grails.org 并浏览优秀的在线文档(见 )。

有趣的是,不需要单独安装 Web 服务器就可以运行 Grails 应用程序。Grails 内置了 Jetty servlet 容器。只需输入 grails run-app,就可以使应用程序在 Jetty 容器(见 )中运行,而不必执行常见的部署过程。在已有的生产服务器上运行 Grails 应用程序也没有问题。通过输入 grails war 创建一个标准文件,然后可以将其部署到 Tomcat、JBoss、Geronimo、WebSphere®,或者任何其他遵从 Java EE 2.4 的 servlet 容器。
您也不需要单独安装数据库。Grails 附带了 HSQLDB(见 ),它是一个纯 Java 数据库。通过提供一个随时可用的数据库可以立即提高生产率。由于有了 Hibernate 和 GORM,使用其他数据库(例如 MySQL、PostgreSQL、Oracle Database 或 DB2)也很简单。如果有一个 JDBC driver JAR 再加上通常的连接设置,只需改变一下 DataSource.groovy,就可以立即使用您自己的数据库。
返回列表