将java的class存入数据库,这个叫什么?如何实现?

目前经理要求在做一个业务统计的程序,他要求把写好的类存入数据库,类比如是org.com.test.HelloDate,数据库就是存放这个,然后由启动统计的主方法调用数据库存放的这个类来实现统计,这个究竟在java里是什么原理?如何实现呢?求给位高手帮忙解答

Java反射Reflect机制啊。

ClassLoader loader = Thread.currentThread().getContextClassLoader();
Class clazz = loader.loadClass("org.com.test.HelloDate");

//获取类的默认构造器并初始化HelloDate
Constructor constructor = clazz.getDeclaredConstructor((Class[])null);   
HelloDate instance = (HelloDate)constructor.newInstance();

//通过反射方法设置属性 
Method setXxxx = clazz.getMethod("setXxxx",String.class); 
setXxxx.invoke(instance,"xxxx");
...
return instance;

大概就这样了,具体关于java反射的东西可以google找找。

把类存入数据库??他的意思是把那数据存入该类对应的表吧 在由别人调用表里的数据 实现统计功能

不是,是把统计实现类的包路径存到数据库,然后程序去查询数据库得到这个类的包路径,并且自动加载这个类执行统计方法

。。不太懂,是不是知道类的属性,一个个个存呗。。。

这个里边涉及几个技术点。

首先是类的序列化,然后要通过ClassLoader进行动态类加载

这是一种思路

另外可以考虑通过drools或者groovy这样的引擎来实现代码的动态调用