写点什么

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

评论

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

测性能,拿周边|OceanBase 3.1.2 版邀你来玩

OceanBase 数据库

经验分享 | 最佳文档协作软件推荐

小炮

“易+”开源 | 网易会议开源之移动端篇

网易云信

开发

海量非结构化数据副本难保护,焱融科技携手英方推出联合解决方案

焱融科技

云计算 分布式 云原生 高性能 文件存储

架构实战营:模块五作业

刘璐

【图解数据结构】树和二叉树全面总结

知心宝贝

二叉树 数据结构与算法 二叉树遍历 3月月更 树和二叉树

discuz防止恶意注册!

喀拉峻

网络安全

吕氏餐饮:用宜搭智能考核绩效,人事管理更高效

一只大光圈

低代码 数字化 钉钉宜搭

设计微博系统中”微博评论“的高性能高可用计算架构

IT屠狗辈

架构实战营 微博评论架构实战

架构训练营 模块五

Geek_16d2b8

架构训练营5期

模块五 评论计算架构

Geek_28cf33

Golang 1.18正式版发布,正式加入泛型语言家庭

学神来啦

Go golang Go 语言

【英雄大会】之谁说站在光里的才算英雄(上篇)

Anna

经历分享 作者 简介

基于爬虫的测试自动化经验分享

FunTester

爬虫 性能测试 办公自动化 FunTester 测试自动化

微博“发评论”高性能高可用计算架构

Fingal

#架构实战营

微博评论的高性能高可用计算架构设计

五月雨

架构实战营 「架构实战营」

透过荣耀耳机的三重“炼金术”,重识TWS行业

脑极体

深度强化学习的“丛林”大冒险

脑极体

Linux之ack命令

入门小站

Linux

高可用演练中堆叠切换失败分析

BUG侦探

高可用 堆叠 链路聚合

SpringCloud-Feign

昊运

SpringCloud

如何设计信息安全领域的实时安全基线引擎

Apache Flink

大数据 flink 开源 编程 实时计算

“微博评论”的高性能高可用计算架构

张逃逃

在线JSON转HTML工具

入门小站

工具

Kubernetes 集群如何做到低成本高弹性

玄月九

Kubernetes 弹性 成本 降本 低成本高弹性

如何在PC端应用中运行小程序?

FinClip

小程序 小程序框架 小程序容器

一文读懂可观测性与Opentelemetry

博睿数据

易观分析:应用数字孪生低代码平台,API开放性是选型关键

易观分析

数字孪生

2月券商App行情刷新及交易体验报告,东方与安信升至领导者象限

博睿数据

Flutter仿微信价值几个亿的页面

岛上码农

flutter ios开发 Android开发 移动端开发 3月月更

在线JSON转CSV格式文件工具

入门小站

工具

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