概述
可能还有更多的使用方式,在此只记录自己使用的两种方式:
方式一
String type = "List<String>";
String jsonString = "["wei.hu","mengna.shi","fastJson"]";
Binding binding = new Binding();
binding.setProperty("jsonString", jsonString);
binding.setProperty("type", type);
GroovyShell groovyShell = new GroovyShell(binding);
return groovyShell.evaluate(
"import com.alibaba.fastjson.JSON;n" +
"import com.alibaba.fastjson.TypeReference;n" +
"TypeReference<"+ type +"> typeReference = new TypeReference<" + type +">(){};n" +
"JSON.parseObject(jsonString, typeReference);"
);
方式二
1、定义一个groovy文件 test.groovy:
(这里有一个有意思的地方:无论将groovy文件放在java资源的哪一个目录下,IDEA都会将其对应的class文件放在resource目录的根目录下)
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
def test(String str1, String str2, String str3) {
printf(str1 + " " + str2 + " " + str3)
def clos = {println "Hello ${it}"};
clos.call(str1);
String jsonString = "["wei.hu","mengna.shi","fastJson"]"
return JSON.parseObject(jsonString, new TypeReference<List<String>>() {})
}
test()
2、java调用
GroovyObject groovyObject = (GroovyObject) ConfigInfoController.class.getClassLoader().loadClass("test").newInstance();
Object[] objects = new Object[]{"abc", "def", "ghi"};
groovyObject.invokeMethod("test", objects);
最后
以上就是怕孤独煎蛋为你收集整理的Java项目中使用groovy的两种方式的全部内容,希望文章能够帮你解决Java项目中使用groovy的两种方式所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复