Groovy是什么

直接摘录官网的介绍:

是一个基于Java虚拟机的敏捷动态语言。
构建在强大的Java语言之上 并添加了从Python,Ruby和Smalltalk等语言中学到的诸多特征。
为Java开发者提供了现代最流行的编程语言特性,而且学习成本很低(几乎为零)。
支持DSL(Domain Specific Languages领域定义语言)和其它简洁的语法,让你的代码变得易于阅读和维护。
Goovy拥有处理原生类型,面向对象以及一个Ant DSL,使得创建Shell Scripts变的非常简单。
在开发Web,GUI,数据库或控制台程序时 通过减少框架性代码 大大提高了开发者的效率。
支持单元测试和模拟(对象),可以简化测试。
无缝集成 所有已经存在的 Java对象和类库。
直接编译成Java字节码,这样可以在任何使用Java的地方 使用Groovy。

 

Java 与 Groovy 的共存关系

在配置要 Maven 和 IDE 插件后,Java 代码中可以直接引用 Groovy 代码。Groovy 的代码也可以直接引用 Java 的代码,可以说是无缝继承。

而 Java 和 Groovy 编译出来的 .class 文件其实是一样的,运行的事后,JVM 是无法区分它来自于 Java 还是 Groovy 的。

 

Groovy 的用武之地

所以是不是说,项目中使用 Groovy 代码是锦上添花,有利无弊的?

其实不然,虽然 Groovy 编译出来的中间语言没什么特别的,但是同样的依据语句,可能在 Groovy 下编译出来的中间语言可能会性能很糟糕。

为什么性能糟糕呢?

举个例子:

Java 写出来的数组就是数组,但是 Groovy 下写出来的数组为了支持动态添加删除,那它底层必然不是一个数组。

也就是说,很多语法糖和便捷的语法同时也带来了性能上的损耗。

 

那 Groovy 最适合用在哪?

答案非常简单:单元测试!

 

开始配置 Groovy

如果你在用 IntelliJ ,那它们已经支持 Groovy 了。

 Eclipse 需要下载一下插件:http://groovy.codehaus.org/Eclipse+Plugin

 

接下来要开始配置 Maven 的 POM 文件了:

<dependencies>
    <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>${groovy.version}</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
                <compilerId>groovy-eclipse-compiler</compilerId>
            </configuration>
            <dependencies>
                <dependency>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-eclipse-compiler</artifactId>
                    <version>2.8.0-01</version>
                </dependency>
                <dependency>
                    <groupId>org.codehaus.groovy</groupId>
                    <artifactId>groovy-eclipse-batch</artifactId>
                    <version>2.1.8-01</version>
                </dependency>
            </dependencies>
        </plugin>
    </plugins>
</build>

是的,你的 IDE 支持 Groovy 后,你只要加上以上的配置到pom.xml中就行了。

我自己也在网上搜了很多教程,但是一直会有问题。后来仔细看了官网的教程,原来 Groovy 有过打升级,所以很多配置都不一样了。

官网教程:

http://groovy.codehaus.org/Groovy-Eclipse+compiler+plugin+for+Maven

 

开始使用 Groovy

好了,现在要考试写 Groovy 代码了。

ide

 

你可以在你的 main 和 test 目录下新增一个 groovy 目录,和 java 平级即可。

(备注:最新版的官方教程建议你直接把文件放在java目录中,放groovy中也可以,但是需要配置一下插件。)

这时候,IDE 可以智能提示相关的代码,maven install 的时候也会编译这个文件夹下的内容。

具体的语法就是另一个话题了,大家可以看看 Groovy 相关的书籍,相信很快就可以入门了。

本作品由 Dozer 创作,采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。