产品战略专家梁宁确认出席AICon北京站,分享AI时代下的商业逻辑与产品需求 了解详情
写点什么

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

评论

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

淘系商品详情数据接口全解析:探索Taobao API的无限可能

代码忍者

pinduoduo API API 性能测试

Lightroom Classic 2025(LRC2025)直装版

你的猪会飞吗

lrc2025下载 Lightroom Classic 2025

特斯拉自动驾驶出租车计划变成泡影?联想与Meta合作,推出面向PC的个人AI智能体AI Now|AI日报

可信AI进展

硬盘分区数据恢复软件哪个好 硬盘分区数据如何恢复正常

阿拉灯神丁

EasyRecovery 电脑文件 数据恢复软件 硬盘数据恢复 软件包

爱旭N型ABC组件闪耀粤水电集采,领跑集中式光伏新篇章

Geek_2d6073

TunesKit iPhone Unlocker for Mac(iPhone设备解锁工具)

Mac相关知识分享

修复损坏视频的理想选择TunesKit Video Repair for mac视频修复工具

Mac相关知识分享

视频修复

功能强大的字幕编辑工具TunesKit Subtitle Editor for Mac

Mac相关知识分享

儋州市等保测评机构有哪些?在哪里?

行云管家

等保 等保测评机构 澶州

【CST教程】如何在CST中设置自由边界

思茂信息

cst 电磁仿真 边界条件

Mybatis的<where>,<if>等标签用法

百度搜索:蓝易云

PAI 大语言模型评测平台现已支持裁判员模型评测

阿里云大数据AI技术

人工智能 大语言模型 PAI 模型评测

修复各种 iOS 设备TunesKit iOS System Recovery

Mac相关知识分享

情绪稳定!别再让Git合并冲突影响你工作了

禅道项目管理

程序员 代码管理 git 学习 Git Commit git push

人工智能 | 阿里通义千问大模型

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

测试

商品详情数据API接口详解与数据应用参考

代码忍者

pinduoduo API API 性能测试

LCD、LED、OLED显示技术发展对比

Dylan

技术 科技 LED OLED lcd

测试热招职位技能要求拆解公开课 —— 开启你的软件测试进阶之路

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

测试

华为云开源引领,KubeEdge晋级CNCF毕业项目

华为云原生团队

云计算 容器 云原生 kubeedge

FastRawViewer for mac(Raw查看器)

Mac相关知识分享

研发效能中的黄金三角与瓶颈突围

思码逸研发效能

研发效能 绩效 绩效管理 效能度量 绩效分析

Bitmap 和 布隆过滤器傻傻分不清?你这不应该啊

程序员小富

Java redis 面试 布隆过滤器

实用便捷的音频录制工具TunesKit Audio Capture for mac

Mac相关知识分享

携手并进,智驭教育!和鲸科技与智谱 AI 签署“101 数智领航计划”战略合作协议

ModelWhale

人工智能 大模型 学科建设 创新人才

单色相机的原始文件转换为 DNG 格式LibRaw Monochrome2DNG for Mac

Mac相关知识分享

Perfectly Clear Video for Mac(AI视频增强工具)

Mac相关知识分享

功能强大的视频剪切工具TunesKit Video Cutter for mac(视频分割编辑

Mac相关知识分享

基智科技CEO张文战:探索火山引擎数据飞轮模式下的大模型应用新机会

字节跳动数据平台

大数据 大模型

喜讯|麦杰科技入选首批《上海市重点产业和领域数字化产品和解决方案推荐目录》

麦杰研究院

2025云堡垒机公司就选行云绽放!

行云管家

云计算 网络安全 云堡垒机

“特斯拉式”创新,被这家科技卫浴品牌极致演绎

Alter

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