精通Grails: 构建您的第一个Grails应用程序

请允许我借助另一种开源 Web 开发框架 —— Ruby on Rails —— 来介绍 Grails。Rails 一发布就 迷住了开发人员。Rails 的脚手架功能使您可以用以前所需时间的一小部分完成一个新的项目。支持 Rails 的约定优于配置(convention over configuration)思想意味着,应用程序可以根据常识性的命 名模式自动进行组装(auto-wire),而不必借助繁杂的、容易出错的 XML 配置文件。Ruby 的元编程功 能使对象可以神奇地在运行时继承所需的方法和字段,而不会扰乱源代码。

Rails 配得上它所受到的赞美和推崇(现在仍然如此),但是它使 Java 开发人员面临困难的选择。 您会因为一个新平台的承诺而放弃自己熟悉的 Java 平台吗?如何处理已有的 Java 代码、已有的生产服 务器和经验丰富的 Java 开发人员?

Grails 为您提供 Rails 风格的开发体验,同时以可靠的 Java 技术作为坚强后盾。但是 Grails 不 仅仅是 Rails 通往 Java 平台的简单入口。Grails 吸取了 Rails 的经验,并将它们与现代 Java 开发 的意识相结合。可以认为 Grails 是受 Rails 启发,而不是由 Rails 转化而来。

作为 Grails 入门 系列的开篇,本文介绍 Grails 框架,展示它的安装方法,遍览如何构建第一个 Grails 应用程序:介绍本系列后续文章的内容。

Groovy 的威力

就像 Rails 与 Ruby 编程语言联系非常紧密一样,Grails 也离不开 Groovy(请参阅 参考资料)。 Groovy 是一种动态语言,它在 JVM 上运行,并且与 Java 语言无缝集成。如果阅读了 developerWorks 上的大型 实战 Groovy 系列,那么您已经了解了这种语言的威力。如果没有,也不必担心 — 在学习 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 以进行检查。如果看到以下友好信息,则说 明一切都得到正确配置:

Welcome to Grails 1.0 - http://grails.org/
Licensed under Apache Standard License 2.0
Grails home is set to: /opt/grails

时间: 2024-10-28 18:58:55

精通Grails: 构建您的第一个Grails应用程序的相关文章

使用Grails构建富Internet应用程序,第1部分:使用Grails和Flex构建Web应用程序

简介:富 Internet 应用程序(Rich Internet Applications,RIA)通过浏览器保证桌面应用程序 的动态性和功能.RIA 的主要特征之一就是将表示层移动到客户机,并使用服务器上健壮的 RESTful 服 务层支持它.这种想法借助 SOUI(Service Oriented User Interface)和 SOFEA(Service Oriented Front End Architecture)之类的热门词汇得到传播. 关于本系列 这个系列探索一些应 用程序架构,

使用Grails构建富Internet应用程序,第2部分

相关文章: 使用Grails构建富Internet应用程序,第1部分:使用Grails和Flex构建Web应用程序 Grails和Google Web Toolkit 简介:在这个共 2 部分的系列的第 2 部分中,将基于您在 第 1 部分 中用 Grails 创建的 Web 服 务创建新的服务.您将创建一个新的搜索页面,但这一次使用 Google Web Toolkit (GWT) 来创建这个 应用程序.此外,您还将使用 Ext GWT 库中的一些更丰富的 UI 小部件. 关于本系列 这个系列

用JavaHelp 2.0构建下一个Java应用程序的帮助系统

简介:即使是帮助系统设计师有时也可能需要帮助,有了 JavaHelp 2.0,终 于可以提供帮助了.在本文中,将介绍如何使用 Java 平台特有的帮助系统 API 构建一个标准的.全功能的.容易使用的系统,以向 Java 应用程序用户展 示 在线信息. 从开发者的角度看,自动化的帮助组件,或者帮助系统,通常是在构建一个 Java 应用程序时最后考虑的事情.不过对于用户来说,帮助系统是学习新应用 程序时非常有价值的资源.随着对功能更全和更可靠的应用程序帮助系统的需求 增加,应用程序开发人员的时间和

运用JavaScript构建你的第一个Metro式应用程序(onWindows 8)(二)

原文 http://blog.csdn.net/zhangxin09/article/details/6793330 先前的学习中,我们已经了解了 Metro式的 JavaScript 应用程序大致如何,以及通过使用 Microsoft Visual Studio 11 Express for Windows Developer Preview 搭建你的应用程序.接下来要探讨的是,把  Windows 平台的所提供的功能,呈现在您眼前,为扩展您的程序而准备! In the previous to

运用JavaScript构建你的第一个Metro式应用程序(onWindows 8)(三)

原文 http://blog.csdn.net/zhangxin09/article/details/6793593 这是<运用 JavaScript构建你的第一个Metro式应用程序>系列教程的最后一篇,将会告诉你在的 Microsoft Visual Studio 11 Express for Windows Developer Preview 提供的Metro 样式和 Split 模板的帮助下,如何透过 CSS样式 使得你的程序更符合 Windows 的 Look & feel.

《精通 ASP.NET MVC 5》----第2章 第一个MVC应用程序 2.1 准备Visual Studio

第2章 第一个MVC应用程序 精通 ASP.NET MVC 5 鉴赏一款软件开发框架最好的方式是介入其中并使用它,本章将使用ASP.NET MVC框架创建一个简单的数据录入应用程序.笔者会将过程分解成一个个的步骤,以便笔者能够看出如何构造ASP.NET MVC应用程序.为了保持过程简单,这里将跳过某些技术细节.但不必着急,如果是MVC新手,你会发现大量感兴趣的内容.对于一些未进行解释的内容,笔者提供了参考章节,在那里你会看到完整的细节. 2.1 准备Visual Studio Visual St

《精通 ASP.NET MVC 4》----第 2 章 第一个MVC应用程序 2.1 准备工作站

第 2 章 第一个MVC应用程序 精通 ASP.NET MVC 4 鉴赏一个软件开发框架最好的办法是投入其中并使用它.本章将带领读者创建一个简单的.使用ASP.NET MVC框架的数据录入应用程序.本书将把事情分成一个个步骤,以使读者能够明白ASP.NET MVC应用程序是如何构造的.为简化起见,本书会跳过某些技术细节.但不必担心--如果是MVC新手,就会发现大量有趣有东西.对于一些未进行解释的内容,本书提供了参考章节,读者会在那里看到完整细节. 本文仅用于学习和交流目的,不代表异步社区观点.非

《精通LabVIEW虚拟仪器程序设计与案例实现》一2.10 综合实例:创建一个“Hello World”程序

2.10 综合实例:创建一个"Hello World"程序 精通LabVIEW虚拟仪器程序设计与案例实现看到这里,大家肯定是跃跃欲试了吧,下面我们就一起来创建一个"Hello World"程序. 例2-1 创建一个"Hello World"程序-信号发生器 在本例中我们一起来创建一个信号发生器,该信号发生器可以选择信号类型.更改信号幅度.频率.相位等.创建程序步骤如下. (1)新建一个VI,切换到前面板,从"控件→银色→图形"

《精通Android 5 多媒体开发》——第22章,第22.3节开发一个屏保程序

22.3 开发一个屏保程序精通Android 5 多媒体开发了解了在Android系统中开发屏保程序的基本原理后,在本节的内容中,将通过一个具体实例的实现流程,来详细讲解开发Android屏保程序的基本流程.本实例的源代码保存在"daima22pingbao"中,下面开始讲解本实例的具体实现流程. 22.3.1 准备素材图片在本实例中,设置屏保程序轮换显示5幅图片,图片的大小是320×480.本实例的素材图片保存在"resdrawable"目录下,效果如图22-1所