需要的包:javassist
public class JavassistDemo {
// javassist asm
public static void main(String[] args) throws Exception {
ClassPool cp = ClassPool.getDefault();
CtClass c = cp.get("com.test.Test");
// 新增一个函数
String methodBody = "public void test(){System.out.println(\"CtNewMethod\"); }";
CtMethod newMethod = CtNewMethod.make(methodBody, c);
c.addMethod(newMethod);
CtMethod m = c.getDeclaredMethod("print1");
// 执行函数前执行
m.insertBefore("{ System.out.println(\"insertBefore\");}");
// 执行函数后执行
m.insertAfter("{ System.out.println(\"insertAfter\"); }");
// 写到新目录
c.writeFile("D:\\Work");
// c.writeFile();
Class
public class JavassistDemo {