Groovy和Java互调

Posted 晋心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Groovy和Java互调相关的知识,希望对你有一定的参考价值。

Scala和Java为静态语言,Groovy为动态语言

Scala: 函数式编程,同时支持面向对象

Groovy: jvm上的脚本,较好兼容java语法,Groovy加强了Java集成。

 

可配置化的优势,可以将一些简单的逻辑公开给外部编辑和使用,增强了互操作性,复杂逻辑来说,可配置化代码的调试则会比较麻烦

 

Scala和Java互相调用 

 

Scala调用java

定义java类,直接调用方法,或者直接import,再调用即可。

 

Java调用Scala

静态方法直接传递参数调用即可,非静态方法,new对象再调用方法

 

 

Groovy和Java互相调用

Groovy调用Java

groovy 调用 Java class ,只需要在类前导入该 Java 类,在 Groovy 代码中就可以无缝使用该 Java 类,可方便接入java sdk

 

Import Java library groovy

this.class.classLoader.rootLoader.addURL(new URL("file:///${currentDir}/lib/commons-net-3.3.jar")

 

User gradle

jar.archiveName ‘warO.jar‘

jar.manifest {

    attributes ‘Main-Class‘ : ‘net.codetojoy.waro.Main‘

    attributes ‘Class-Path‘ : ‘jars/groovy-all-1.6.4.jar jars/guava-collections-r03.jar jars/guava-base-r03.jar‘

}

 

#!/usr/bin/env groovy -cp ojdbc5.jar

 

Java 调用 Groovy

通过JAVA来加载如一个groovy脚本文件,然后调用该脚本中的方法

GroovyClassLoader invokeMethod

loader.parseClass(new File)

或者

通过设定CLASSPATH来初始化groovy脚本引擎,可以运行该path下的任何groovy脚本文件了

 

以上是关于Groovy和Java互调的主要内容,如果未能解决你的问题,请参考以下文章

Groovy 语法学习

如何使用梯度。 Java 和 Groovy 在一起?

groovy与java语法区别

Java调用groovy及groovy中如何使用springBean

Groovy基础

精通Groovy之简要总结