当前位置:首页软件开发Java → java Cglib的应用

java Cglib的应用

时间:2020-02-08 09:34:24来源:互联网我要评论(0)

  java中简单使用CGLIB实现AOP的切面编程

package ppfuns.cglib;

import net.sf.cglib.proxy.Enhancer;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;

import java.lang.reflect.Method;

/**
 * Created with IntelliJ IDEA.
 * Date: 2018/1/12
 * Time: 11:11
 * To change this template use File | Settings | File Templates.
 */
public class EnhancerDemo {

    public static void main(String[] args) {
        Enhancer enhancer = new Enhancer();
        enhancer.setSuperclass(EnhancerDemo.class);
        enhancer.setCallback(new MethodInterceptorImpl());
        EnhancerDemo demo = (EnhancerDemo) enhancer.create();
        demo.test();
        System.out.println(demo);
    }
    public void test(){
        System.out.println("正在测试:"+EnhancerDemo.class.getName());
    }
}
class MethodInterceptorImpl implements MethodInterceptor{
    public Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {
        System.out.println("before test....."+method.getName());
        Object t =  methodProxy.invokeSuper(o,objects);
        System.out.println("after test ...."+method.getName());
        return t;
    }
}


结果:

before test.....test
正在测试:ppfuns.cglib.EnhancerDemo
after test ....test
before test.....toString
before test.....hashCode
after test ....hashCode
after test ....toString
ppfuns.cglib.EnhancerDemo$$EnhancerByCGLIB$$fdf1bbc4@6ae40994

Process finished with exit code 0

相关文章

网友评论

热门评论

最新评论

发表评论 查看所有评论()

昵称:
表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
字数: 0/500 (您的评论需要经过审核才能显示)

关于万荚 | 联系方式 | 发展历程 | 版权声明 | 帮助(?) | 网站地图 | 友情链接

Copyright 2005-2020 16WJ.COM 〖万荚网〗 版权所有 桂ICP备18000060号 |

声明: 本站所有文章来自互联网 如有异议 请与本站联系