12345678910111213141516171819202122232425262728293031323334353637383940 |
- package com.sf.design.proxy;
- import net.sf.cglib.proxy.Enhancer;
- import net.sf.cglib.proxy.MethodInterceptor;
- import net.sf.cglib.proxy.MethodProxy;
- import java.io.IOException;
- import java.lang.reflect.Method;
- public class CglibProxyDemo {
-
- static class MyLife {
- public void learn() {
- System.out.println("learn");
- }
- }
- public static void main(String[] args) throws IOException {
-
- MyLife myLife = new MyLife();
-
-
- MyLife object = (MyLife)Enhancer.create(MyLife.class, new MethodInterceptor() {
- @Override
- public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {
- System.out.println("before");
- Object result = method.invoke(myLife, objects);
- System.out.println("after");
- return result;
- }
- });
- object.learn();
- System.out.println(object.getClass());
- System.in.read();
- }
- }
|