「java嵌入groovy」Java嵌入SQL语句执行后,返回结果存储在什么对象中
本篇文章给大家谈谈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的信息别忘了在本站进行查找喔。
发布于:2022-12-09,除非注明,否则均为
原创文章,转载请注明出处。