问题描述
- 将java的class存入数据库,这个叫什么?如何实现?
- 目前经理要求在做一个业务统计的程序,他要求把写好的类存入数据库,类比如是org.com.test.HelloDate,数据库就是存放这个,然后由启动统计的主方法调用数据库存放的这个类来实现统计,这个究竟在java里是什么原理?如何实现呢?求给位高手帮忙解答
解决方案
Java反射Reflect机制啊。
ClassLoader loader = Thread.currentThread().getContextClassLoader();Class clazz = loader.loadClass(""org.com.test.HelloDate"");//获取类的默认构造器并初始化HelloDateConstructor constructor = clazz.getDeclaredConstructor((Class[])null); HelloDate instance = (HelloDate)constructor.newInstance();//通过反射方法设置属性 Method setXxxx = clazz.getMethod(""setXxxx""String.class); setXxxx.invoke(instancexxxx"");...return instance;
大概就这样了,具体关于java反射的东西可以google找找。
解决方案二:
把类存入数据库??他的意思是把那数据存入该类对应的表吧 在由别人调用表里的数据 实现统计功能
解决方案三:
不是,是把统计实现类的包路径存到数据库,然后程序去查询数据库得到这个类的包路径,并且自动加载这个类执行统计方法
解决方案四:
。。不太懂,是不是知道类的属性,一个个个存呗。。。
解决方案五:
这个里边涉及几个技术点。
首先是类的序列化,然后要通过ClassLoader进行动态类加载
这是一种思路
另外可以考虑通过drools或者groovy这样的引擎来实现代码的动态调用
时间: 2024-11-01 14:47:19