groovy脚本
groovy脚本不知为何物?anyway,下面通过简单一个示例帮你揭开groovy的神秘面纱。 0x01 groovy脚本groovy脚本在我的使用过程中,其语法和java语法非常类似,但是其是有一套属于自己的脚本的,我们可以通过在java代码中调用groovy脚本,就像调用一个方法一样,可以给groovy脚本传递一些必须的参数。 0x02 groovy脚本实例这里介绍在java中调用groovy脚本的方式示例如下: public class GroovyScriptClient { private static final String scriptContent = "String object = scriptContext.get("object");" + " return innerService.sayBye(object);"; public static Script getGroovyScript(){ Class<Script> clazz = clazz = new GroovyClassLoader().parseClass(scriptContent); Script script = null; try { script = clazz.newInstance(); } catch (Exception ex){ System.out.println("exception" + ex); } Map<String,String> params = new HashMap<String,String>(); params.put("object","yesterday"); Binding binding = new Binding(); binding.setVariable("scriptContext",params); binding.setVariable("innerService",new ServiceTest()); script.setBinding(binding); return script; } public static void main (String args[]){ Script script = GroovyScriptClient.getGroovyScript(); Object scriptResult = script.run(); System.out.println(scriptResult); } }; class ServiceTest{ public String sayBye(String object){ return "forget " + object; } }
0x03 思考适用与一些不需要发布但是经常需要改变的情景,规模大的也可以用于做脚本引擎。同时编写脚本不需要对系统进行升级发布减少了很多发布流程,灵活修改等好处,后面还要加强groovy脚本的理解,可以考虑后续写一个脚本引擎来玩玩。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |