2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

用 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:301142

评论

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

你应该搞懂的 C 语言头文件路径问题

矜辰所致

C语言 头文件 6 月 优质更文活动

易安联新品EnDTA天织·DNS威胁分析平台,开放公测!

权说安全

DNS 零信任 威胁检测

2023 年最适用于工业物联网领域的三款开源 MQTT Broker

EMQ映云科技

物联网 mqtt mqtt broker

《中国电子报》专访简丽荣:“模型热”将引发云计算与数据库行业大变革

酷克数据HashData

大促质量备战之三化战役:“常态化、精细化、一体化” | 京东云技术团队

京东科技开发者

测试 质量 电商大促 企业号 6 月 PK 榜

北京国际开源社区正式启航

开放原子开源基金会

开源 开放原子全球开源峰会 开放原子 北京国际开源社区

“升级数智底座”中央企业创新发展沙龙在中国科技城(绵阳)举办!

用友BIP

数智底座 数智平台

体验 TDengine 3.0 高性能的第一步,请学会控制建表策略

爱倒腾的程序员

涛思数据 时序数据库 #TDengine

助力数字门户搭建--小程序容器技术

没有用户名丶

探讨开源法律共识|2023开放原子全球开源峰会开源法律与合规分论坛成功举办

开放原子开源基金会

开源 开放原子全球开源峰会 开放原子 开源知识产权

深度学习应用篇-元学习[14]:基于优化的元学习-MAML模型、LEO模型、Reptile模型

汀丶人工智能

人工智能 深度学习 元学习 元强化学习 6 月 优质更文活动

小程序的快速渲染机制是如何实现的?

Onegun

小程序 移动应用开发 小程序容器

数智人力,打造伯恩光学人力资源管理新生态!

用友BIP

人力资源 数智人力

用友入选信通院“铸基计划”IPaaS标准贡献单位

用友BIP

数智平台

用友发布《数智化赋能泛地产行业高质量发展白皮书》,推动地产行业数智化3.0

用友BIP

深度学习应用篇-元学习[13]:元学习概念、学习期、工作原理、模型分类等

汀丶人工智能

人工智能 深度学习 元学习 元强化学习 6 月 优质更文活动

C4D主流渲染器,到底选哪一款?

Finovy Cloud

万物云原生下的服务进化 | 京东云技术团队

京东科技开发者

Java 云原生 镜像 GraalVM 企业号 6 月 PK 榜

推动绿色计算 共迎绿色未来|2023开放原子全球开源峰会绿色基础设施技术分论坛圆满收官

开放原子开源基金会

开源 开放原子全球开源峰会 开放原子 绿色基础设施技术

阿里云PAIx达摩院GraphScope开源基于PyTorch的GPU加速分布式GNN框架

阿里云大数据AI技术

人工智能 机器学习 gpu GNN 企业号 6 月 PK 榜

Disk Xray for Mac:Mac磁盘精准分析工具

背包客

macos Mac软件 MacBook Pro Mac磁盘管理 Disk Xray

Windows控制关机锁屏

Geek_7ubdnf

消失的死锁:从 JSF 线程池满到 JVM 初始化原理剖析 | 京东云技术团队

京东科技开发者

JVM 线程池 jsf 企业号 6 月 PK 榜

直播App必看!消息收发技巧,让你实力up up!

山东布谷科技

App 源码搭建 视频语音直播app开发 开发软件 直播APP源码

还在为618电商推送方案烦恼?我们帮你做好了!

HarmonyOS SDK

HMS Core

Capture One Pro 23 for Mac(Raw图像处理软件) 中文最新版

背包客

深度学习 macos Mac软件 图像处理软件 Capture One

手把手教你实战TDD | 京东云技术团队

京东科技开发者

测试 DDD TDD 企业号 6 月 PK 榜

智慧隧道三维可视化管控平台系统

2D3D前端可视化开发

物联网 数字孪生 三维可视化 智慧隧道 智慧公路隧道

常用的表格检测识别方法-表格内容识别方法

合合技术团队

文字识别 表格识别 表格检测

综合指南|如何为平台工程选择关键 KPI

SEAL安全

KPI 平台工程

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