星期二 一月 24, 2006
- 全部
- Groovy
Groovy 前言
前言
Groovy 是基于 JRE 的脚本语言( Script ),和Perl,Python等等脚本语言一样,它能以快速简洁的方式来完成一些工作:如访问数据库,编写单元测试用例(Unit Test Case),快速实现产品原型等等。
Groovy 是由James Strachan 和 Bob McWhirter 这两位天才发明的,(JSR 241 2004 年 3 月)。Groovy 完全以Java API为基础,使用了Java开发人员最熟悉的功能和库。Groovy 的语法近似Java,并吸收了 Ruby 的一些特点,因此 Groovy 在某些场合可以扮演一种 “咖啡伴侣”的角色。
那么Groovy 和 Java 相比,有什么变化呢? Groovy 通过以下方式提供了一种敏捷的开发方式:
- 不用编译。
- 允许动态类型。
- 合成结构容易。 其脚本可以在普通 Java 应用程序中使用。
- 提供一个 shell 解析器。
这些特性使Groovy 成为一种特别容易学习和使用的语言. 我们先借用IBM Groovy教程中的例子,下面的代码利用了Freemarker模板引擎来创建一个Template对象,然后将内容打印到标准输出。例(1)是Java代码,例(2)是Groovy代码。可以看到二者非常的类似。
<code>
//简单的 TemplateReader Java 类
import java.io.File;
import java.io.IOException;
import freemarker.template.Configuration;
import freemarker.template.Template;
public class TemplateReader {
public static void main(String[] args){
try{
Configuration cfg = Configuration.getDefaultConfiguration();
cfg.setDirectoryForTemplateLoading(new File("C:\\dev\\projects\\http-tester\\src\\conf"));
Template temp = cfg.getTemplate("vendor-request.tmpl");
System.out.println(temp.toString());
} catch(IOException e){
e.printStackTrace();
}
}
}
</code>
和例2 中的 Groovy 作为对比.
<pre><code>
//用 Groovy 编写的更简单的 TemplateReader
//语法目前基于Groovy 1.0-JSR3
import freemarker.template.Configuration as tconf
import java.io.File cfg = tconf.getDefaultConfiguration()
cfg.setDirectoryForTemplateLoading( new File("C:\\dev\\projects\\http-tester\\src\\conf"))
temp = cfg.getTemplate("vendor-request.tmpl")
println temp.toString()
</code></pre>
Groovy显然精简得多:
- Groovy 代码只需要更少的import 语句。此外,freemarker.template.Configuration 还使用了别名 tconf。
- Groovy 允许直接使用类型为Template 的变量 tmpl 而不用声明其类型。
- Groovy 不需要class 声明或者main 方法。
- Groovy 不关心异常,可以不用导入Java需要的IOException。
对Groovy感兴趣吗?别忘了拜访它的主页 http://groovy.codehaus.org/ 并下载最新的Groovy发布包哦。(ray_linn)
本文以Groovy1.0-JSR3为基础,如果您发现任何章节与当前之JSR冲突或者无法运行之脚本,可以和我联系: ray_linn@hotmail.com.
Posted at 02:27下午 一月 24, 2006 by 龙二少爷 in Groovy | 迴響[0]