import io.github.karlatemp.iroh.Injector; import io.github.karlatemp.iroh.ProceedingPoint; public class Example { public static void main(String[] args) throws Exception { Injector injector = new Injector(); injector.before("com.example.MyClass.myMethod()", (ProceedingPoint point) -> { System.out.println("Before method execution"); point.proceed(); Object returnValue = point.getReturnValue(); System.out.println("After method execution"); point.setReturnValue("Modified value"); point.proceed(); }); Class<?> modifiedClass = injector.loadClass(Example.class); Object instance = modifiedClass.newInstance(); instance.getClass().getMethod("myMethod").invoke(instance); } } class MyClass { public void myMethod() { System.out.println("Original method"); } }


上一篇:
下一篇:
切换中文