groovy使用

要使用groovy脚本

第一步:添加pom文件的依赖

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

接下来就可以写脚本,执行脚本,调脚本,为所欲为

1.写脚本

脚本的内容参照这个脚本的格式来写
在最开始编写脚本的时候参数都用明文来写,方便直接测试脚本

2.测试执行脚本

首先新增一个groovy
新增groovy
选择脚本存在的路径,确定
设置脚本路径

然后就可以在脚本中打上断点,使用debug来调试脚本

3.java调用脚本

调用脚本之前,把之前写死的数据都改成这种样式,‘$’符号后面的值是调用脚本传入的map的key的值,如:

String temp = "$temp";

相关包

import javax.script.Bindings;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

调用脚本的代码:

第一种

直接传入script代码执行,从上往下依次执行

ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("groovy");
Bindings bindings = engine.createBindings();
bindings.putAll(params);
Object resultMap = engine.eval(script, bindings);

params:表示的是传入脚本的map数据
script:表示的是脚本的代码

第二种

传入script文件所在位置url,并且设置方法名,从方法名开始执行

GroovyClassLoader classLoader = new GroovyClassLoader(Thread.currentThread().getContextClassLoader());
File sourceFile = new File(fileUrl);
Class groovyClass = classLoader.parseClass(new GroovyCodeSource(sourceFile));
GroovyObject instance = (GroovyObject)groovyClass.newInstance();
Map<String, Object> result = (Map<String, Object>)instance.invokeMethod("invokeTest", param);

fileUrl:表示脚本文件的地址
invokeTest:表示从这个方法开始执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值