「java嵌入groovy」Java嵌入SQL语句执行后,返回结果存储在什么对象中

博主:adminadmin 2022-12-09 02:54:12 62

本篇文章给大家谈谈java嵌入groovy,以及Java嵌入SQL语句执行后,返回结果存储在什么对象中对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java序列化问题和Groovy在Java中使用的问题

proxy对象是不能序列化的,就算能序列化也不能反序列化,因为proxy对象的类是动态生成出来的,序列化后,反序列化时目标jVM肯定没有加载过这个代理类。

有个变通的方法,就是获取到对象本身,序列化;反序列化后获取到原对象,再重新用代理包装即可获得反序列化后的代理对象了。不知道是否贴题。下面有个例子,虽然没有序列化和反序列化,但是基本实现了获取对象本身这个功能,希望能帮到你。

另外groovy对象也是java对象,应该仍然保持groovy对象本身(个人理解,groovy我也是略懂皮毛),spring应该不会对对象本身动刀子,最多加层代理啥的。

//-------------------------------------------------------------------------------

import java.lang.reflect.InvocationHandler;

import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;

import java.lang.reflect.Proxy;

public class Test implements TestInterface{

public static void main(String[] args) {

final Test t = new Test();

TestInterface t2 = (TestInterface) Proxy.newProxyInstance(

Test.class.getClassLoader(),

Test.class.getInterfaces(),

new InvocationHandler() {

public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {

try {

return method.invoke(t, args);

} catch(InvocationTargetException ite) {

throw ite.getTargetException();

}

}

}

);

t2.test();

//使用这种方式获取原对象,序列化原对象后,反序列化原对象 重新构造代理

System.out.println(t2.getThis().getClass());

System.out.println(t2.getClass());

}

public void test() {

System.out.println(1);

}

public Test getThis() {

return this;

}

}

interface TestInterface{

public void test() ;

public Test getThis() ;

}

在java中使用groovy怎么搞

到下载groovy的最新版本包,并将相关jar, 包导入工程。

然后,建立脚本文件foo.groovy

class GroovyCalculator {

    int add(int x, int y) {

        x +y +x*2

    }

}

然后建立Java文件GroovyTest.java

import java.io.File;

import groovy.lang.GroovyClassLoader;

import groovy.lang.GroovyObject;

public class GroovyTest {

      public static void main(String[] args) throws Exception {

            ClassLoader parent = ClassLoader.getSystemClassLoader();

            GroovyClassLoader loader = new GroovyClassLoader(parent);

            Class gclass = loader.parseClass(new File("foo.groovy"));

            GroovyObject groovyObject = (GroovyObject) gclass.newInstance();

            Object obj = groovyObject.invokeMethod("add", new Object[] {

                        new Integer(2), new Integer(1) });

            System.out.println(obj);

      }

}

java和groovy能混编吗

答案是肯定的,java groovy混编:一种最“势利”的折衷

而groovy,说它是java++也不为过,因为java代码直接就可以被groovy编译, groovy完全兼容java语法, 对一般java开发人员来说,这真是太亲切了

java程序员为什么使用Groovy

1.Groovy可以兼容java。

是的,你可以用java语法来编写groovy,最后还可以生成class文件,直接用java调用。你会说,这有什么好的,不就是改了个后缀名么?呕,也许吧…但是它的亮点当然不是这个,它的亮点是你可以在Groovy里面直接用java语法混搭写,当然不是很推荐这样做的。

2.Groovy是动态的。

不需要java的反射,不需要冗长的代码,不需要各种try catch 异常,你就可以实现各种神奇的事情。Groovy的class可以这样新增一个方法,或者调用它。

3.Groovy是一把瑞士军刀。

java是一把基础工具,等你需要的时候,你需要到处去找jar包,来填充自己的程序,而且你需要看API去弄懂各种使用。此外,java的编写实在是太冗长了,为了打印一个HelloWorld,你需要编写class, 写一个main函数。对于Groovy来说:print “hello world!”.这一句就足够了,这只是开始…

java嵌入groovy的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java嵌入SQL语句执行后,返回结果存储在什么对象中、java嵌入groovy的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-09,除非注明,否则均为首码项目网原创文章,转载请注明出处。