`
yangwencan2002
  • 浏览: 37336 次
  • 性别: Icon_minigender_1
  • 来自: 福建
社区版块
存档分类
最新评论

Java调用Groovy

阅读更多

      Groovy 的主要优势之一就是它的生产力。Groovy 代码通常要比 Java 代码更容易编写,而且编写起来也更快,这使得它有足够的资格成为开发工作包中的一个附件。在另一方面, Groovy 并不是而且也不打算成为Java 语言的替代,因为它还在成长中,还不够成熟。所以我们的目标是在Java调用Groovy,归纳起来主要有以下3个方法:

1.Groovy文件编译成.class文件:编译是通过调用 groovyc 命令进行的,该命令将 Groovy 脚本编译成普通的 Java 兼容的 .class 文件,这样调用Groovy就和调用Java本身没什么两样了,值得一提的是groovy代码中的闭包会使得多生成一个.class文件。参见demo1演示。

2.利用Groovy类加载器: Groovy GroovyClassLoader ,动态地加载一个脚本并执行它的行为。参见demo2演示。

3.更加动态的选择:使用 Groovy 优美的GroovyShellGroovyScriptEngine动态地执行 Groovy 脚本。分别参见demo31demo32demo32演示。

综上,个人看法是:嵌入简单的、易于编写的脚本,从而利用 Groovy 的简单性为Java服务,而不是替代Java,或者说为时还早。

备注:附件的Demo促成环境:Eclipse3.3+jdk1.6

分享到:
评论
4 楼 85977328 2011-02-15  
楼主很给力
3 楼 donjon 2009-01-08  
很好,谢谢!
2 楼 yangwencan2002 2008-11-12  
lottons 写道

学习一下!谢谢了。

1 楼 lottons 2008-11-03  
学习一下!谢谢了。

相关推荐

    Java调用Groovy,实时动态加载数据库groovy脚本

    总的来说,Java调用Groovy并实时加载数据库中的Groovy脚本是一种强大而灵活的解决方案,特别适用于需要频繁调整业务逻辑或进行热部署的场景。通过结合Java的稳定性和Groovy的动态性,我们可以构建出更适应变化的系统...

    Java中使用Groovy的三种方式

    本文将深入探讨在Java项目中使用Groovy的三种主要方式,并阐述它们各自的优势和应用场景。 一、作为嵌入式脚本 Java 6引入了JSR 223(Scripting for the Java Platform),允许在Java程序中直接执行脚本语言。...

    groovy和Java相互调用1

    这是一种跨语言交互的方式,特别是在混合使用Groovy和Java的项目中非常常见。 Groovy调用Java类相当直观。首先,你需要在Groovy脚本中使用`import`语句导入你想要使用的Java类。例如,如果要使用`java.util.Random`...

    SpringBoot-Gradle-Maven-Java-Groovy

    SpringBoot、Gradle、Maven、Java和Groovy是Java生态...- 在测试和配置管理中使用Groovy,如Spock测试框架和Grails配置。 理解并熟练掌握这些技术,有助于提升Java开发者的专业技能,更好地适应现代企业级开发的需求。

    java与groovy互相调用1

    首先,我们来看Java调用Groovy的情况。在示例中,我们定义了一个Groovy类`GroovyBean`,它包含一个字段`name`,一个构造函数,一个`calc`方法和一个静态的`hello`方法。在Java类`JavaCallGroovy`中,我们可以直接...

    干货:Jenkins Pipeline调用shell、python、java、groovy脚本的正确使用姿势.doc

    Jenkins Pipeline 调用 shell、python、java、groovy 脚本的正确使用姿势 Jenkins Pipeline 是一个强大的自动化工具,可以帮助开发者自动化构建、测试和部署流程。在设计 Pipeline 脚本的过程中,经常会遇到调用...

    java调用脚本语言笔记(jython,jruby,groovy)

    在Java项目中,使用Groovy通常更加方便,因为不需要额外的引擎,可以直接创建`GroovyShell`或`GroovyScriptEngine`对象: ```java import groovy.lang.GroovyShell; import groovy.lang.Script; GroovyShell shell...

    hugo110-java_run_groovy-master_java_

    - **GroovyObject接口**:Groovy类自动实现`GroovyObject`接口,这使得Java可以调用Groovy对象的方法。 2. **Groovy的优势**: - **动态性**:Groovy支持动态类型,这意味着变量的类型可以在运行时改变,这在编写...

    Java Groovy

    - **兼容性**:Groovy不仅支持Java类库,还能直接调用Java代码,这为开发者提供了一种在不改变现有Java环境的情况下引入新特性的途径。 - **灵活性**:Groovy支持元编程系统(MPS)和运行时注入(RTI),使得...

    Groovy+Java混合使用例子

    Groovy环境搭建教程中的例子工程,纯Java、纯Groovy以及Java+Groovy混合 教程参考:http://blog.csdn.net/rcom10002/archive/2011/06/26/6568557.aspx

    Groovy大量计算导致oom的解决办法

    下载的资源文件中,封装了并发计算以及内存溢出解决方案的工具类GroovyEngine.java,调用示例: GroovyEngine engine = GroovyEngine.getInstance(); engine.put("a",1); engine.put("b",2); Object v1 = engine....

    Groovy MOP

    在Java中,我们通常需要通过继承或接口实现来扩展功能,但Groovy的MOP允许我们在运行时动态地改变对象的行为,使得代码更加灵活和动态。 Groovy的MOP机制主要包括以下几个关键概念: 1. **MetaClass**: MetaClass...

    groovy速查手册

    这样做的好处在于,你可以像使用Java代码一样使用Groovy代码,无需担心兼容性问题。 - **从Groovy调用Java**:Groovy完全支持调用任何Java代码,就像在Java中一样直接使用。 - **从Java调用Groovy**:在Java中调用...

    java 动态脚本语言 精通 Groovy

    9. **Scripting in Java Applications**:Groovy可以嵌入到Java应用中作为脚本语言使用,例如在服务器端处理HTTP请求,或者作为配置文件来动态改变应用行为。 10. **持续集成与构建工具**:Groovy也是构建工具如...

    java_groovy_python集合

    Java和Groovy在企业级应用开发中广泛使用,而Python因其简洁和易学性在数据分析、自动化脚本和机器学习等领域大放异彩。 标签中的“java”,“python”,“groovy”进一步强调了这三个主题的重要性。 压缩包子文件...

    JGSK, Java,Groovy,Scala,Kotlin 四种语言的特点对比.zip

    Java、Groovy、Scala和Kotlin是四种在Java平台上广泛使用的编程语言,它们各自具有独特的特点和优势。这里我们将深入探讨这四种语言的核心特性,并对比它们在实际开发中的应用。 首先,Java作为最古老的成员,自...

    groovy programming(2006.12).pdf

    由于Groovy与Java的高度兼容性,本书特别强调了如何在Java项目中使用Groovy脚本或Groovy类。这包括如何在Java代码中调用Groovy脚本,以及如何在Groovy中调用Java类库。这种集成能力使得Groovy可以作为Java项目的脚本...

    Java/groovy脚本程序调用被测试应用bean

    脚本通过上下文applicationcontext获取被测试应用bean,从而可以进行接口内容获取等操作。目前该方式主要运用到性能平台脚本搭建、代码深度测试、接口测试、白盒测试等多方面。...支持Java、groovy脚本。

    maven配置java项目使用groovy做源码.zip

    在Java项目中使用Groovy,可以利用其灵活性和生产力优势,同时保持与现有Java代码库的兼容性。 为了使Maven能够处理Groovy源码,我们需要在`pom.xml`中添加Groovy Maven插件,例如`groovy-maven-plugin`。该插件会...

Global site tag (gtag.js) - Google Analytics