Groovy 是运行在 Java 平台上的现代编程语言。它将提供与现有 Java 代码的无缝集成,同时引入闭包和元编程等出色的新功能。简言之,Groovy 是 21 世纪根据 Java 语言的需要编写的。

把任意一个新工具集成到开发工具包中的关键是:知道何时使用以及何时不应使用该工具。Groovy 可以提供强大的功能,但是必须正确地应用到适当的场景中。为此,实战 Groovy 系列将探究 Groovy 的实际应用,帮助您了解何时及如何成功应用它们。

2009 年

实战 Groovy: SwingBuilder 和 Twitter API,第 2 部分(2010 年 1 月)
在本期实战 Groovy 文章中,Scott Davis 将继续构建第 1 部分中的 Groovy Twitter 客户机:Gwitter。这次,他将解决 HTTP Basic 身份验证问题,并使用 Groovy 的 ConfigSlurper 读入配置设置。

SwingBuilder 和 Twitter API,第 1 部分(2009 年 11 月)
本文中,Scott Davis 要讨论一个令大多数服务器端 Java 开发人员畏惧的主题:Swing。Groovy 的 SwingBuilder 可以让这个强大但复杂的 GUI 框架使用起来简单一些。

@Delegate 注释(2009 年 9 月)
Scott Davis 将继续有关 Groovy 元编程的讨论,这一次他将深入研究 @Delegate 注释,@Delegate 注释模糊了数据类型和行为以及静态和动态类型之间的区别。

使用闭包、ExpandoMetaClass 和类别进行元编程(2009 年 7 月)
通过本文,您将进入到 Groovy 风格的元编程世界。在运行时向类动态添加方法的能力 —— 甚至 Java 类以及 final Java 类 —— 强大到令人难以置信。不管是用于生产代码、单元测试或介于两者之间的任何内容,即使是最缺乏热情的 Java 开发人员也会对 Groovy 的元编程能力产生兴趣。

构建和解析 XML(2009 年 6 月)
通过本文,您将了解使用 Groovy 分解 XML 是多么地容易。作者演示了无论您是使用 MarkupBuilder 和 StreamingMarkupBuilder 创建 XML,还是使用 XmlParser 和 XmlSlurper 解析 XML,Groovy 都提供了一系列用于处理这类流行数据格式的工具。

for each 剖析(2009 年 6 月)
本文提出了一组非常好的遍历方法,这些方法可以遍历数组、列表、文件、URL 以及很多其它内容。最令人印象深刻的是,Groovy 提供了一种一致的机制来遍历所有这些集合和其它内容。

Groovy:Java 程序员的 DSL(2009 年 3 月)
Groovy 专家 Scott Davis 将重新开始撰写实战 Groovy 系列文章,该系列文章于 2006 年停止编写。作为开篇文章,本文将介绍 Groovy 最近的发展以及 Groovy 当前的状态。然后了解大约 从 2009 年开始,使用 Groovy 是多么的轻松!

2006 年

用 Groovy 减少代码冗余(2006 年 10 月)
Groovy 简洁的语法将开发人员从那种需要进行代码编译但却无助于表达 什么 是程序真正想要实现的典型的 Java 结构中解放了出来。本文将带您进行一系列对常规 Java 代码和 Groovy 代码的比较,展示这门令人兴奋的语言如何将您解放出来,让您能够专注于编码的重要方面。

2005 年

关于 MOP 和迷你语言(2005 年 10 月)
将耳朵贴到地上仔细听 —— MOP 正在前进!了解一下元对象协议(Meta Object Protocol,MOP)吧,这是一种将应用程序、语言和应用程序构建为 语言的翻新方法。

用 curry 过的闭包进行函数式编程(2005 年 9 月)
在 Groovy 中处处都是闭包,Groovy 闭包惟一的问题是:当每天都使用它们的时候,看起来就有点平淡了。本文介绍了如何对标准的闭包(例如闭包复合和 Visitor 设计模式)进行 curry 处理。curry() 方法是由 Haskell Curry 发明的,在 JSR 标准发布之前就已经在 Groovy 语言中了。

Groovy 的腾飞(2005 年 8 月)
随着 Groovy JSR-1(及其后续发行版本)的发布,Groovy 语法的变化已经规范化 —— 这意味着如果以前没有对此加以注意,那么现在是开始注意它的时候了。本文将介绍 Groovy 语法最重要的变化,以及在经典 Groovy 中找不到的一个方便特性。

在 Java 应用程序中加一些 Groovy 进来(2005 年 6 月)
您有没有想过在自己相对复杂的 Java 程序中嵌入 Groovy 简单的、易于编写的脚本呢?本文将介绍把 Groovy 集成到 Java 代码中的多种方法,并解释在什么地方、什么时候适合这么做。

用 Groovy 生成器作标记(2005 年 4 月)
Groovy 生成器让您能够利用诸如 Swing 这样的框架来模拟标记语言(如 XML、HTML、Ant) 任务以及 GUI。它们对于快速原型化非常有用,并且正像本文中向您展示的那样,当您马上需要可消费的标记时,它们是数据绑定框架的一种便利的替代方案。

用 Groovy 打造服务器端(2005 年 3 月)
Groovlet 和 GroovyServer Pages(GSP)框架都是建立在 Java Servlet API 基础之上。不过,与 Strut 和 JSF 不同,Groovy 的服务器端实现不意味着适用于所有情况。相反,它提供了一种快速而又方便地开发服务器端应用程序的简化方法。本文介绍这些框架,并展示它们的应用。

使用 Groovy 模板进行 MVC 编程(2005 年 2 月)
视图是 MVC 编程的一个重要部分,而 MVC 编程本身又是企业应用程序开发的一个重要组件。本文向您介绍了 Groovy 的模板引擎框架是如何用来简化视图编程的,并如何使您的代码更加经久容易维护。

用 Groovy 进行 JDBC 编程(2005 年 1 月)
随着本文向您演示的如何用 GroovySql 构建简单的数据报告应用程序,您对 Groovy 的实用知识会更进一步。GroovySql 结合利用闭包(closure)和迭代器(iterator),把资源管理的负担转移到 Groovy 框架本身,从而简化了 Java 数据库连通性(Java Database Connectivity,JDBC)的编程。

用 Groovy 进行 Ant 脚本编程(2005 年 1 月)
Ant 和 Maven 两者在构建处理工具的世界中占统治地位。但是 XML 却凑巧是一种非常没有表现力的配置格式。本文将介绍 Groovy 的生成器实用工具,这个工具能够极其容易地把 Groovy 与 Ant 和 Maven 结合在一起,形成更具表现力、更可控的构建。

2004 年

用 Groovy 更迅速地对 Java 代码进行单元测试(2004 年 11 月)
本文是第一期,将介绍使用 Groovy 和 JUnit 对 Java 代码进行单元测试的一个简单策略。

感受 Groovy(2004 年 8 月)
虽然 Java 语言因其严密性和扩展性的承诺而在整整一代程序员中胜出,但是 Groovy 预示了 Java 平台上的一个编程新时代,这种语言是以方便性、适宜性和敏捷性为出发点定义的。本文对提议添加到 Java 平台的标准编程语言作了非正式的介绍。