美文网首页
轻量级框架之Spring动态代理(第四周)

轻量级框架之Spring动态代理(第四周)

作者: 帅气的削皮刀 | 来源:发表于2020-04-03 09:51 被阅读0次

    动态代理主要有两种方式:

    • JDK动态代理(Proxy)
    • CGLIB代理

    一、JDK动态代理

    使用动态代理的五大步骤

    1.通过实现InvocationHandler接口来自定义自己的InvocationHandler;

    2.通过Proxy.getProxyClass获得动态代理类

    3.通过反射机制获得代理类的构造方法,方法签名为getConstructor(InvocationHandler.class)

    4.通过构造函数获得代理对象插入自定义的InvocationHandler实例对象传递为参数标注

    5.通过代理对象调用目标方法

    首先熟悉一下具体的流程
    1、我们建有UserDao类,里面有两个方法,分别是addUser()与deleteUser(),接着我们建它的实现类UserDaoImpl,实现userDao里面的方法,添加输出语句模拟新增与删除,本例是对它的实现类进行增强处理;
    2、新建切面类,模拟权限检查和记录日志,用在我们新增与删除地方(和普通的类一样,包含两个方法,只是我们把它理解为切面类,并且要这个类作为切面,织入我们要增强的类);
    3、创建我们的代理类,通过实现InvocationHandler接口来自定义自己的InvocationHandler。

    二、CGLIB代理

    相关文章

      网友评论

          本文标题:轻量级框架之Spring动态代理(第四周)

          本文链接:https://www.haomeiwen.com/subject/qfrzuhtx.html