写点什么

用 Groovy 能玩出来的漂亮把戏

  • 2007-06-30
  • 本文字数:1005 字

    阅读完需:约 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-06-30 19:301260

评论

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

前端一面高频面试题(附答案)

loveX001

JavaScript

PPC Insights 系列:高效在线匿踪查询技术

洞见科技

隐私计算 数据隐私计算 匿踪查询

大数据开发培训机构该怎么选择?

小谷哥

容量保障落地四步走

老张

性能测试 服务治理 稳定性保障 容量测试 容量保障

react源码分析:组件的创建和更新

flyzz177

React

面试官:说说Event Loop事件循环、微任务、宏任务

loveX001

JavaScript

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

架构实战营 模块2作业

西山薄凉

「架构实战营」

JavaScript刷LeetCode拿offer-栈相关题目

js2030code

JavaScript LeetCode

秒云荣获2022爱分析·中国运维最佳实践案例大奖

MIAOYUN

运维 解决方案 容器云平台 云原生容器 IT解决方案

react的jsx和React.createElement是什么关系?面试常问

beifeng1996

React

社招前端二面react面试题集锦

beifeng1996

React

浅谈字节码增强技术系列2-Asm与Cglib

京东科技开发者

spring asm cglib spring aop JDK 动态代理

2022-12-13:游戏玩法分析 I。写一条 SQL 查询语句获取每位玩家 第一次登陆平台的日期。 +-----------+-------------+ | player_id | first_l

福大大架构师每日一题

数据库 福大大

深入React源码揭开渲染更新流程的面纱

flyzz177

React

数据驱动测试-从方法探研到最佳实践

京东科技开发者

测试 自动化测试 数据存储 自动化测试框架 测试数据构造

使用JMeter模拟设备通过MQTT发送数据

石云升

测试 Jmeter mqtt

React面试:谈谈虚拟DOM,Diff算法与Key机制

beifeng1996

React

JavaScript刷LeetCode拿offer-树的遍历

js2030code

JavaScript LeetCode

鸿蒙开发实例 | 鸿蒙操作系统的前世今生

TiAmo

华为 华为云 鸿蒙开发 12月月更

工作中常用的设计模式--享元模式

lpe234

Java 设计模式 享元模式 spring-boot

深度分析React源码中的合成事件

flyzz177

React

常见react面试题

beifeng1996

React

在西安怎么选择java培训?

小谷哥

手写一个react,看透react运行机制

flyzz177

React

Zebec正在以流支付的方式,推动加密资产支付走上正轨

鳄鱼视界

react的useState源码分析

flyzz177

React

react源码分析:深度理解React.Context

flyzz177

React

前端必会面试题汇总

loveX001

JavaScript

java开发哪家机构比较好?

小谷哥

Verilog 过程赋值

芯动大师

Verilog Verilog语法 Verilog过程赋值

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