首页 > 技术文章 > java和groovy的混用

ulysses-you 2017-11-17 07:35 原文

java在语言的动态性方便不是很灵活,如果你想快速增加或改变一些方法,那么只能通过反射机制,并且参数传递的格式很严格。

相比之下,基于groovy可以快速写出一些自定义方法,并能和java很好结合,类似javascript在java中应用。

 

环境:

导入groovy-all-2.1.6.jar

maven:

<dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy-all</artifactId>
    <version>2.1.6</version>
</dependency>

 

编写自定义的方法

class Java2Script extends Script{

    public static String getString(String string){
        return string;
    }

    public static int getInt(){
        return 1;
    }

    @Override
    public Object run() {
        return null;
    }

    public static void main(String[] args){

        CompilerConfiguration cfg = new CompilerConfiguration();
        cfg.setScriptBaseClass(Java2Script.class.getName());
        GroovyShell shell = new GroovyShell(cfg);

        Script script = shell.parse("getString(\"hello world\")");
        System.out.println(script.run());
    }

}

这样就非常方便,可以任意写一些自定义方法,然后调用的时候通过字符串的方式调用,并且可以传递一些基础类型参数。

 

// groovy语言在java中的其他嵌入用法

http://shift-alt-ctrl.iteye.com/blog/1938238

 

推荐阅读