写点什么

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

评论

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

云安全企业有哪些?哪些比较知名?

行云管家

云计算 网络安全 云安全

React组件通信

xiaofeng

React

这次彻底读透 Redis

说故事的五公子

缓存 redis 底层原理

今天终于知道 Redis 为什么要用跳跃表了

C++后台开发

redis 中间件 后端开发 跳表 C++开发

在 Java 代码中来一段 JavaScript?聊聊 Flowable 中的脚本任务

江南一点雨

Java springboot workflow flowable

C++栈/队列/堆使用及模拟

可口也可樂

c++ 数据结构 10月月更

Webpack完整打包流程分析

Geek_02d948

webpack

和至少为 K 的最短子数组

掘金安东尼

算法 10月月更

技术分享| 基于 Etcd 的分布式锁实现原理及方案

anyRTC开发者

分布式 etcd 存储系统

React源码解读之更新的创建

flyzz177

React

为什么普通用户也需要认识华为云CDN?

清欢科技

React组件复用的技巧

夏天的味道123

React

前端展示中实现批量标签动态生成

葡萄城技术团队

批量 BI 报表 商业智能 打印

机器学习服务文本识别能力演进,大幅提升识别准确率

HarmonyOS SDK

机器学习

React组件设计模式-纯组件,函数组件,高阶组件

xiaofeng

React

【一Go到底】第二十六天---数组入门

指剑

Go golang 10月月更

为什么企业们更偏好使用华为云CDN?

清欢科技

Vue响应式依赖收集原理分析-vue高级必备

yyds2026

Vue

Go语言入门07—指针

良猿

Go golang 后端 10月月更

前端常见手写面试题(持续更新中)

helloworld1024fd

JavaScript

弹性伸缩,轻松上云-华为云弹性云服务器 ECS

清欢科技

龙蜥对Intel下一代芯片SPR的支持及Anolis 23 产品规划介绍 | 第 50 期

OpenAnolis小助手

开源 直播 intel 龙蜥大讲堂 月会

一文读懂 DevSecOps:工作原理、优势和实现

SEAL安全

DevOps 云原生 敏捷开发 DevSecOps 企业号十月 PK 榜

Vue中的diff算法深度解析

yyds2026

Vue

C++基础IO流

可口也可樂

c++ IO流 10月月更

C++模板进阶

可口也可樂

c++ 模板 10月月更

怎样徒手写一个React

helloworld1024fd

JavaScript

看完这份SpringBoot神级文档,面试真的可以为所欲为

程序知音

Java spring JAVA开发 springboot 后端技术

如何判断等保测评机构有资质?符合要求?

行云管家

等保 等级保护 等保测评 等保测评机构

React组件复用的发展史

夏天的味道123

React

手写JS函数的call、apply、bind

helloworld1024fd

JavaScript

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