`

Groovy学习:第三章 Groovy开发环境

阅读更多

本章将继续深入Groovy语言,首先学习Groovy脚本,包括从命令行编译和运行Groovy脚本,Groovy Shell,和Groovy Console。

你将学会使用Groovy语言来建立域对象、控制器和服务。而且使用Groovy的方法并非只有一种。另外,对于建立类,可以使用Groovy作为脚本语言。

例1:简单的Groovy脚本Hello.groovy

println "Hello ${args[0]}, may Groovy be with you."

执行以上代码:
PS D:\tmp\groovy> groovy Hello "Li Sir"
Hello Li Sir, may Groovy be with you.

在执行脚本的过程中,Groovy生成了一个与源文件同名的类文件,它包含main方法。

上面的代码如果换用Java来实现,会显得更为冗长。
public class HelloJava {
    public static void main(String[] args) {
        System.out.println( "Hello "+ args[0]+", may Java be with you." );
    }
}

1. 使用脚本函数

同大多数脚本语言那样,可以把Groovy脚本组织成可重用的代码块。这些块被称为函数。下面的例子说明了如何创建并使用一个函数。

def printFullName(firstName, lastName){
println "${firstName} ${lastName}"
}

printFullName('Luke', 'Skywalker')
printFullName('Li', 'Sir')


PS D:\tmp\groovy> groovy .\PrintFullName.groovy
Luke Skywalker
Li Sir

2. 编译Groovy

上面的例子省略了Groovy的编译过程,同Java一样,Groovy脚本也可以编译成字节码文件。如下所示:

PS D:\tmp\groovy> groovyc Hello.groovy

我们会看到目录下生成了一个名为Hello.class的字节码文件。但是,我们不能直接使用Java执行它。要使用Java执行它,需要这么做:

D:\tmp\groovy>java -cp %GROOVY_HOME%/embeddable/groovy-all-2.1.2.jar;. Hello "Li Sir"
Hello LiSir, may Groovy be with you.

可以使用java命令来运行Groovy程序,证明了Groovy就是Java。只需加上groovy-all-<version>.jar到类路径即可。

Groovy编译器是一个联合编译器,它可以同时编译Groovy代码和Java代码。Groovy联合编译器是1.5版本引入的,它来源于JetBrains公司的贡献(发明Intellij IDEA开发环境的公司)。联合编译器允许在单行编译语句中编译Groovy文件和Java文件。

示例:
Name.groovy代码:
public class SayHello{
public static void main(String[] args){
Name name = new Name();
name.setFirstName(args[0]);
System.out.println(name.toString());
}
}

SayHello.java代码:
public class SayHello{
public static void main(String[] args){
Name name = new Name();
name.setFirstName(args[0]);
System.out.println(name.toString());
}
}

联合编译:

D:\tmp>groovyc *.groovy *.java

执行代码:
D:\tmp>java -cp %GROOVY_HOME%/embeddable/groovy-all-2.1.2.jar;. SayHello
"Li Sir"
Hello Li Sir, Java calling Groovy

3. 运行Groovy

可以通过命令行、Groovy Shell、Groovy控制台等运行Groovy脚本和类。

3.1 命令行
在命令行下运行Groovy脚本有几个选择:

(1) 直接在命令行下使用groovy命令。
这种方式下,Groovy会产生一个包含脚本命令的带main()方法的类,编译脚本,并执行它。如果你不想每次运行时重新编译文件,你可以使用第三种选择。

(2) 编译groovy脚本为字节码文件,并使用Java执行。
正如之前的例子。

(3) Windows环境下可以让.groovy扩展名与groovy程序相关联。在Unix环境,使用下面的脚本可以实现同样的目的:
#!/usr/bin/groovy
println "Hello ${args[0]}, may Groovy be with you."

3.2 Groovy Shell

Groovy Shell是一个交互命令行程序,允许开发者创建、运行、保存、载入Groovy脚本和类。要启动Groovy Shell,只需运行groovysh。
D:\tmp\groovy>groovysh
Groovy Shell (2.1.2, JVM: 1.7.0_09)
Type 'help' or '\h' for help.
------------------------------------------------------------
groovy:000> 

在Groovy Shell下键入help,可以学习并使用一些Shell命令,

3.3 Groovy控制台

Groovy控制台是一个带图形界面的Groovy Shell。Groovy控制台使用SwingBuilder开发,使得开发更为方便。

 

http://blog.csdn.net/chszs/article/details/8763426

分享到:
评论

相关推荐

    Java Application Architecture Modularity Patterns with Examples Using OSGi Part2

    第3章 架构与模块化 3.1 定义架构 3.2 关于软件架构的一个故事 3.2.1 象牙塔 3.2.2 乌龟和塔 3.3 架构的目标 3.3.1 悖论 3.3.2 消除架构 3.4 模块化:被忽视的部分 3.5 回答我们的问题 3.6 结论 3.7 参考...

    Java Application Architecture Modularity Patterns with Examples Using OSGi Part1

    第3章 架构与模块化 3.1 定义架构 3.2 关于软件架构的一个故事 3.2.1 象牙塔 3.2.2 乌龟和塔 3.3 架构的目标 3.3.1 悖论 3.3.2 消除架构 3.4 模块化:被忽视的部分 3.5 回答我们的问题 3.6 结论 3.7 参考文献 第4章...

    netbeans-7.0.1-ml-php-windows.exe

    NetBeans IDE是一个屡获殊荣的集成开发环境,可以方便的在Windows,Mac,Linux和Solaris中运行。... NetBeans项目由一个活跃的开发社区提供支持, NetBean开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件。

    java开源包7

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    SpringBoot 入门(一)

    随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重:繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。  在上述环境下,SpringBoot应运而生。Spring Boot是...

    netbeans6.8

    NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建...NetBeans项目由一个活跃的开发社区提供支持, NetBean开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件。

    推荐5款跨平台的PHP编辑器

    IDE(集成开发环境)或换句话说PHP编辑器是开发人员在构建移动或Web应用必不可少的工具。...NetBeans项目由一个活跃的开发社区提供支持, NetBean开发环境提供了丰富的产品文档和培训资源以及大量的第三方插件

    Android studio打包方法.docx

    Android Studio 是一款功能强大且流行的集成开发环境(IDE),广泛应用于 Android 应用程序的开发和调试。然而,在将应用程序发布到 Google Play 商店或其他应用商店之前,需要对其进行打包和签名,以确保应用程序的...

    Maven权威指南 很精典的学习教程,比ANT更好用

    3. Font Conventions 4. Maven Writing Conventions 5. Acknowledgements 1. 介绍 Apache Maven 1.1. Maven... 它是什么? 1.2. 约定优于配置(Convention Over Configuration) 1.3. 一个一般的接口 1.4. ...

    工具云ToolCloud.zip

    您知道使用Java第三方库JFreechart非常容易。您开发了这样一个工具, 现在又要给同事培训安装Java环境、执行Java程序。而您的同事已经很厌烦他们需要掌握如此多而复杂的软件知识,并且电脑里需要安装如此多的他们不...

    JAVA上百实例源码以及开源项目源代码

    第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用源码...

    JAVA上百实例源码以及开源项目

    第三步:在登陆后的界面文本框输入文本,然后发送 可以同时启动多个客户端 实现群聊。 浮动的广告 嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用源码...

    Spring 2.0 开发参考手册

    14.2.3. 帮助简化开发的额外的标签 14.3. Tiles 14.3.1. 需要的资源 14.3.2. 如何集成Tiles 14.4. Velocity和FreeMarker 14.4.1. 需要的资源 14.4.2. Context 配置 14.4.3. 创建模板 14.4.4. 高级配置 ...

    java开源包3

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包1

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包11

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包2

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包6

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

    java开源包5

    同时,任何第三方都可以使用OAUTH认证服务,任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的。业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间...

Global site tag (gtag.js) - Google Analytics