Javassist - Java字节码处理工具
关于java字节码的处理,有很多工具,如bcel,asm。不过这些都需要直接跟虚拟机指令打交道。如果你不想了解虚拟机指令,可以采用javassist。javassist是jboss的一个子项目,其主要的优点,在于简单,而且快速。直接使用java编码的形式,而不需要了解虚拟机指令,就能动态改变类的结构,或者动态生成类。 生成类 ClassPool pool = ClassPool.getDefault(); CtClass fangcongC = pool.makeClass("fangcong"); fangcongC.addField(CtField.make("public String name;",fangcongC)); fangcongC.addMethod(CtMethod.make("public String getName(){return this.name;}", fangcongC)); fangcongC.addMethod(CtMethod.make("public void setName(String name){this.name = ....