A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

侯玉林

1.什么是动态代理:主要用于增强类的方法中
        方法增强的三种办法之一:
        request中的方法的增强:
        1.继承:能够控制这个类的构造.
        2.装饰者:增强的类和被增强的类实现相同的接口,增强的类中获得到被增强的类的引用.
        * 接口中方法过多,只增强其中的某个方法.其他的方法也需要重写.
        3.动态代理        :被增强的类实现了接口.

2.代理的概述:
        使用动态代理:Proxy.newProxyInstance();

3.代理的条件:
        该增强的类至少实现了,一个或多个的接口
        增强的方法必须是接口中的方法,实现类中的自己特有的方法无法增强.

4.如何实现代理:
        实现流程:
       
                1.通过interfaces接口的数组,虚拟机知道了要增强类的所有有实现接口,
                进而知道该增强类所有接口的实现方法.
               
                2.通过该接口数组,虚拟机会为该增强类创建一个实现了同样接口数组的
                类,假设该类为增强类2.
               
                3.增强类2中的所有的接口实现后的方法都默认调用invocationHandler ih
                对象中的invoke方法.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马