作者: 李东龙
一 .什么是Groovy?
Groovy是一种基于JVM的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM上的特性,Groovy 可以使用其他 Java语言编写的库。
Groovy 是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性。
Groovy是 JVM的一个替代语言(替代是指可以用 Groovy在 Java 平台上进行 Java编程),使用方式基本与使用 Java 代码的方式相同,该语言特别适合与Spring的动态语言支持一起使用,设计时充分考虑了Java集成,这使 Groovy与 Java 代码的互操作很容易。
说白了Groovy也是一种开发语言,上面是百度百科中对Groovy的概念行解释.下面大家看一个小例子吧!
这个是一个主函数, 调用了IFOO这个接口.
import groovy.lang.GroovyClassLoader; import java.io.File; public class InvokeGroovy { public static void main(String[] args) { ClassLoader cl = new InvokeGroovy().getClass().getClassLoader(); GroovyClassLoader groovyCl = new GroovyClassLoader(cl); try { Class groovyClass = groovyCl.parseClass(new File("src/com/jlee/Foo.groovy")); IFoo foo = (IFoo) groovyClass.newInstance(); System.out.println(foo.run(new Integer(2))); } catch (Exception e) { e.printStackTrace(); } } }
下面是接口:
/** * @author ldl * @date 2012-12-19 * @desc Java 接口 */ public interface IFoo { public Object run(Object foo); }
下面是对该接口的具体实现:
/** * @author Jlee * @date 2012-12-19 * @desc 实现Java 接口的 Java 类 */ public class Foo2 implements IFoo { public Object run(Object foo) { System.out.println("Foo2里面输出 : "+foo); return "foo2"; } }
下面是Groovy对该功能的实现:
import java.lang.Override /** * @author Jlee * @date 2012-12-19 * @desc 实现Java 接口的 Groovy 类 */ public class Foo implements IFoo { @Override public Object run(Object foo){ println 'Hello World!' ; /******************************* * 实例化Java实现Foo接口的Foo2类* * Groovy中调用Java * * ******************************/ Foo2 f2 = new Foo2() ; def str = f2.run(2); println str ; return foo*10; } //直接运行该Groovy类 public static void main(args){ Foo f = new Foo(); f.run(3) } }
大家看一下这样的实现是不是很简洁啊! 不过具体的开发还需要慢慢研究!