AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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

评论

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

企业数字化转型,工具先行

飞算JavaAI开发助手

深入浅出学习透析Nginx服务器的架构分析及原理分析「底层技术原理+运作架构机制」

码界西柚

nginx 负载均衡 反向代理 优化架构

视觉模型 ConvNeXt V2,结合纯卷积与MAE

Zilliz

计算机视觉

【春季2月CSM认证周末班】提前报名特惠--“全球金牌”课程CST导师亲授

ShineScrum

ScrumMaster 项目经理 ScrumMaster认证 CSM认证

【春季2月A-CSM特惠周末班】ScrumMaster进阶课程 · CST导师亲授

ShineScrum

敏捷教练 高阶SM 敏捷教练技能

如何通过Java代码在PDF中插入、替换或删除图像?

在下毛毛雨

Java PDF 图像

TiDB CDC v6.5.0 新特性实践

TiDB 社区干货传送门

实践案例 新版本/特性发布 6.x 实践

KaiwuDB 数据服务平台 1.0 产品详解

KaiwuDB

时序数据库 多模数据库 数据服务平台

Transformer 再添一员,比 Swin 更强的 DiNAT

Zilliz

全球化商家平台技术探索与演进

阿里技术

全球化 架构演进

有什么方法从 PostgreSQL 数据迁移到 TiDB ?

TiDB 社区干货传送门

迁移 实践案例 管理与运维

Electron打包错误的踩坑小记

茶无味的一天

前端 Electron Node electron实战

设计文档概述

五毛

设计原则

正式起航!用友23大行业客户与解决方案事业部全面亮相

用友BIP

用友BIP

TiCDC 源码解读(4)-- TiCDC Scheduler 工作原理解析

TiDB 社区干货传送门

TiCDC 源码解读

【新春特惠周末班】2月4-5日在线CSPO“价值交付课程” | 全国招生

ShineScrum

产品负责人 CSPO认证 CSPO

喜报|HarmonyOS开发者社区连获业内奖项,持续深耕开发者生态

HarmonyOS开发者

HarmonyOS

KaiwuDB CTO 魏可伟:1.0 时序数据库技术解读

KaiwuDB

时序数据库 多模数据库 技术优势

【最佳实践】TiDB 同步&迁移实战 (从 MySQL/Oracle/PostgreSQL/MongoDB 到 TiDB )

TiDB 社区干货传送门

2022最新MySQL高频面试题汇总

程序员大彬

MySQL 数据库 计算机

TiDB PPT玩家快速点评 V6.5 新特性

TiDB 社区干货传送门

版本测评

我理解的卓越工程

agnostic

卓越工程

模块二作业 (架构实战训练营)

Justin

架构实战营

开源SPL强化MangoDB计算

石臻臻的杂货铺

开源 SPL

“祝福海报”小程序走红,AIGC走进“千家万户”

科技热闻

湖仓一体电商项目(十七):业务实现之编写写入DIM层业务代码

Lansonli

湖仓一体电商项目

京东探索研究院 | 2023年十大科技趋势

京东科技开发者

京东 技术分享 京东云 技术预测 企业号 1 月 PK 榜

一图回顾博睿数据的2022

博睿数据

年度报告 博睿数据

Datawhale学习笔记【阿里云天池 金融风控-贷款违约预测】Task2 数据分析

一颗小树

QEMU与KVM架构介绍

Linux内核拾遗

Linux 虚拟化 qemu kvm

赛意信息张成康:在行业场景驱动下为企业创造数字化价值

科技热闻

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