groovy 快速入门

一、groovy 简介

   groovy 可以和Java无缝兼容, 因为它本身也是Java写的, 可以使用Java强大的库,最终groovy也会被编译成class文件

二、快速搭建groovy工程(mac、idea)

2.1下载groovy库

官网下载groovy库
如果你是mac, 想使用SDK安装groovy,也可以参考官方文档mac如何配置groovy教程。

2.2 idea开发工具

①、create new project ==> Groovy ==> Groovy库 ==> 编译输出classs路径选择

pic
pic

Groovy library 选择你在官网下载groovy-2.4.7库解压的路径

②、创建groovy类

package groovy
/** 
  * Created by xupengwei on 17/1/8. 
  */
class FirstGroovy {
    static void main(String[] args) {
        println "hello, groovy!"; 
    }
}

③、groovy编译class文件输出路径设置
file ==> Project Structure


pic
pic

④、run

pic
pic

⑤、工程的整个结构参考如图④

三、Java 运行 groovy 脚本


package com.yuanmeng.groovy;

import org.codehaus.groovy.runtime.InvokerHelper;
import com.alibaba.fastjson.JSON;
import groovy.lang.Binding;
import groovy.lang.GroovyClassLoader;

public class JavaRunGroovyDemo {

    public static void main(String[] args) {
        runGroovy();
    }

    @SuppressWarnings({ "resource", "rawtypes" })
    static void runGroovy() {
        Binding context = new Binding();
        context.setVariable("name", "hello, groovy!");
        GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
        String groovyScript = initScript();
        Class scriptClass = groovyClassLoader.parseClass(groovyScript);
        Object obj = InvokerHelper.createScript(scriptClass, context).run();
        System.out.println(JSON.toJSONString(obj));
    }

    static String initScript() {
        String groovyScript = "println name";
        return groovyScript;
    }
}

结果 :
<pre>
hello, groovy!
</pre>

参考文献

简书编写代码块方式

idea搭建groovy工程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Groovy简介 Groovy是基于Java平台开发的一门强大的、具有Optional类型,多功能性的动态语言,它...
    Goach阅读 1,808评论 0 3
  • Groovy是一门基于JVM的动态语言,很多语法和Java类似。大部分Java代码也同时是合法的Groovy代码。...
    乐百川阅读 3,632评论 0 15
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,482评论 25 708
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,970评论 6 342
  • 这篇文章将要呈现什么 技术呈现 这篇文章讲告诉你,这篇文章的重点是requests库的介绍,顺便也提到了一个比较鸡...
    代号027阅读 884评论 1 15