速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

用 Groovy 能玩出来的漂亮把戏

  • 2007-06-30
  • 本文字数:1005 字

    阅读完需:约 3 分钟

随着动态语言开始在 JDK 6 中扮演重要角色,Groovy 专家 Guillaume Laforge、Dierk Konig 和 Guillaume Alleon 在“用 Groovy 能玩出来的漂亮把戏(Cool things you can do with Groovy)”研讨会向开发人员展示了 Groovy 语言的特性,从而帮助开发人员提高生产力。

演讲的一开始介绍了 Groovy 的标准特性(增强的语言特性、闭包 [Closures]、正则表达式支持、GString 和集合等等),随后还讨论了一些对提高生产力更有帮助的语言特性,其中最为引人注意的包括:

Groovy Builders 和 GPath:你不再需要通过翻译砸的 XPath API 来访问数据了。使用 GPath 操作 XML 文档就像直接操作对象一样,允许你通过调用属性来访问数据;而使用 Builder,你可以反过来使用对象和 大括号来创建 XML 文件。除了 XML Builder 以外,还有 Swing 和 Ant 的 Builder。

对 Annotation 的支持:在今年稍后发布 1.1 版本之后,Groovy 将成为唯一支持 Annotation 的动态语言。由于它 将允许双向的数据访问,因此这是一个重要的里程碑。一个使用了 Google Juice 和 TestNG 的演示展示了使用注入的 Mock 数据的测试用例开发起来是多么轻而易举的一件事情。

Live Objects:Groovy 外壳(Shell)的特性不仅是一个考察这门语言最简单的途径,而且可以用来交互地探索 Java 的运行期环境。当运行期配置被嵌入到一个应用程序中时,开发人员可以对这些配置进行探索,并且对其进行实时修改,这使得开发人员在永久性修改代码 之前,就可以检验所做的假设并且对理论进行测试。

动态的应用程序:在你的应用程序中可以选择这样一种方式:将 Groovy 代码编译成 Java 的 class 文件,然后在应用中使用这些 静态类。此外,开发人员还有其它选择。最有说服力的就是使用 GroovyClassloader,这种方式使得 Groovy 脚本在运行期被请求时才被编 译,这就允许在运行时期更改和使用源文件,而不必重启整个应用程序。

Charles Ditzel 在经过演讲人允许之后,发布 PPT 供大家下载

查看英文原文: Cool things you can do with Groovy - - - - - -

译者简介:吴磊,有多年软件开发经验,从 1999 年开始使用 C++,2002 年转入 Java 领域,具备 J2ME 和 J2EE 方面的开发经验。在多个项目开发过程中先后使 用过 WebWork、Spring、Hibernate 等开源项目。目前正在进行基于 Spring 轻量级 J2EE 开发,对敏捷方法有一些尝试。另外对 Erlang 很有兴趣,正在学习中。参与 InfoQ 中文站内容建设,请邮件至 china-editorial@infoq.com

2007-06-30 19:30880

评论

发布
暂无评论
发现更多内容

2022 第一天,立 Flag

贾献华

01-大规模异步新闻爬虫:简单的新闻爬虫

AI悦创

架构训练营 -- 模块五

LJK

架构训练营

Greenplum 内核源码分析 - 分布式事务 (四)

王凤刚(ginobiliwang)

源码分析 分布式事务 最佳实践 greenplum

链游平台 Gacube Finance 登陆虎符Hoo Labs空投

区块链前沿News

Hoo 虎符交易所 GaCubeFinance

通过 PXE 自动化安装 Ubuntu Server

hedzr

Ubuntu20.04 cloud-init pxe-server bash.sh

预言机不预测

Rayjun

区块链 预言机

架构实战营模块八作业

孙志强

架构实战营

基于MySQL消息队列存储方案设计

天天向上

架构实战营

第四周作业

lv

一个cpp协程库的前世今生(八)env的状态与标识位

SkyFire

c++ cocpp

节日与科技撞个满怀,一场氛围感的升级

脑极体

LabVIEW轮廓分析与比较(基础篇—8)

不脱发的程序猿

机器视觉 图像处理 LabVIEW 轮廓分析与比较

为什么私有方法上的Spring Cache注解不生效?

看点代码再上班

spring 源码 程序员 spring aop Spring Cache

Go编译原理系列3(词法分析)

书旅

Go 编译原理 后端技术

设计消息队列的Mysql表结构

AHUI

「架构实战营」

模块8作业

21°Char

如何做小程序的产品设计?

石云升

产品设计 产品思维 1月月更

[架构实战营]模块五

Vincent

「架构实战营」

产品规划:以终为始

石云升

产品规划 1月月更

架构实战营模块八作业

spark99

架构实战营

武侯祠-创业团队

wood

创业 300天创作 武侯祠 三国

WPF中的一个bug造成CPU资源拉满

喵叔

28天写作 1月月更

流沙·进化岛|编程、艺术、新媒体等皆可学(你的终身进化岛1000+人)

AI悦创

AI悦创

模块八作业

doublechun

架构师实战营

第八单元总结

张靖

#架构实战营

flink输出到iceberg

聚变

Spring 的 BeanFactory 和 FactoryBean 傻傻分不清?

CRMEB

盘点 2021|在家办公(偷卷)的一年

悟空聊架构

passjava 悟空聊架构 2021年终总结 盘点 2021

模块八作业-架构实战营

Geek_99eefd

#架构实战营 「架构实战营」

模块8作业

Asha

用Groovy能玩出来的漂亮把戏_Java_Ian Roughley_InfoQ精选文章