写点什么

用 Groovy 能玩出来的漂亮把戏

  • 2007-05-31
  • 本文字数:1001 字

    阅读完需:约 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-05-31 08:30810

评论

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

XSKY SDS V6.3 版本发布:持续强化非结构化存储和管理能力

XSKY星辰天合

开班在即 | 测试开发线下高薪私教班助力你的职场晋升

测吧(北京)科技有限公司

测试

测试开发 | 物流与供应链中的智能优化

测吧(北京)科技有限公司

测试

IPQ8074/IPQ8072 What's the performance difference?|8X8 4X4 High Performance 802.11ax Solution

wallyslilly

IPQ8072 IPQ8074

万界星空科技铜线MES、漆包线MES系统

万界星空科技

生产管理系统 智能制造 mes 漆包线mes 铜线mes

高效GO语言集成开发工具 GoLand 2023 注册码中文版

mac大玩家j

代码编辑器 Mac软件 语言开发工具

软件测试/测试开发/丨人工智能与测试开发沙龙(PPT和回放集锦)

测试人

人工智能 软件测试

2023新型显示产业技术创新专业赛圆满收官

Geek_2d6073

人人都是智能体开发者!百度灵境矩阵打造国内最完整智能体生态

科技热闻

高薪程序员的三大窍门,你准备好了吗?

飞算JavaAI开发助手

全新升级!名企私教服务加盟全栈开发与自动化测试班,成就你的技术梦想

测吧(北京)科技有限公司

测试

测试开发 | 游戏开发中的人工智能创新:探索数字娱乐的未来

测吧(北京)科技有限公司

测试

如何通过ETLCloud的API对接功能实现各种SaaS平台数据对接

RestCloud

SaaS API ETL

个人年度总结:大模型驱动技术的趋势洞察

Geek-yan

万界星空MES系统的十大核心功能

万界星空科技

数字化转型 MES系统 智能制造 mes 万界星空科技mes

测试用例设计方法六脉神剑——第六剑:心法至简,百家之长集成

京东科技开发者

石磊:BANI时代下,企业人才管理破局之道

用友BIP

智能招聘

云原生技术:实践探索与未来展望

不会算法。

只需一个bitget钱包,让你的web3体验翻倍

威廉META

Mac电脑文献管理推荐 EndNote 21激活最新版

胖墩儿不胖y

Mac软件 文献管理工具 文献工具

企业级“RAS”的数据平台如何炼成?

Geek_2d6073

测试开发 | 创业与人工智能的密切关系

测吧(北京)科技有限公司

测试

智能辅助技术的未来前景:创新与便利的引领者

测吧(北京)科技有限公司

测试

只需一个bitget钱包,让你的web3体验翻倍

鳄鱼视界

CQ 社区版 V2.7.0 发布 | 数据源版本扩充、新增批量执行功能等

BinTools图尔兹

数据库 运维 数据安全 dba 数据库管理

1688商品评论数据接口(1688.item_review)

tbapi

1688API接口 1688商品评论接口 1688商品评论数据接口 1688商品评价接口 1688商品评论API

测试开发 |AI驱动的健康监测与管理:数字化时代的医疗创新

测吧(北京)科技有限公司

测试

专家论道:构建完善的新型显示产业生态体系

Geek_2d6073

Amazon Toolkit — CodeWhisperer 使用

亚马逊云科技 (Amazon Web Services)

人工智能 云上探索实验室 Amazon CodeWhisperer Amazon Cloud9

“追求卓越·数创未来”CITE2024深圳电子展,火爆招商中

AIOTE智博会

电子展 深圳电子展 电子信息展 电博会

为什么电商系统必须选择定制开发?

飞算JavaAI开发助手

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