zoukankan      html  css  js  c++  java
  • cglib动态代理(需导入cglib-nodep-2.1_3.jar)

    public interface AnimalInterface {
        public void cry();
    }
    public class AnimalImpl implements AnimalInterface {
    
        public void cry() {
            // TODO Auto-generated method stub
            System.out.println("crying");
        }
    
    }
    public class MyCglib implements MethodInterceptor {
        private Object proxied;
    
        private MyCglib(Object proxied) {
            this.proxied = proxied;
        }
    
        public static Object getProxy(Object proxied) {
            MyCglib cglib = new MyCglib(proxied);
            Enhancer enhancer = new Enhancer();
            enhancer.setSuperclass(proxied.getClass());
            enhancer.setCallback(cglib);
            return enhancer.create();
        }
    
        public Object intercept(Object obj, Method method, Object[] args,
                MethodProxy proxy) throws Throwable {
            Object ret;
            System.out.println("Before Method Invoke");
            ret = method.invoke(proxied, args);
            System.out.println("After Method Invoke");
            return ret;
    
        }
    
    }
    public class Test {
        public static void main(String[] args) {
            AnimalImpl animal = (AnimalImpl) MyCglib.getProxy(new AnimalImpl());
            animal.cry();
        }
    }
  • 相关阅读:
    .NET Cache缓存
    异步
    es6常用功能
    vue-router路由懒加载
    vue中nextTick和$nextTick
    动态模板中 swiper 划不动问题
    javaScript正则判断手机号
    Mac终端使用技巧
    alert IOS自带域名
    vue css background路径不对
  • 原文地址:https://www.cnblogs.com/xiaominghupan/p/4245679.html
Copyright © 2011-2022 走看看