学习Spring的基本知识

  • aop 的原理 :
  •     代理模式—静态代理的优点:*客户端和代理对象的桥梁  *无侵入性的增强业务代码,解耦利器  *增强点多样化(前入,后入,异常)
  •     代理模式—静态代理局限性:*扩展能力差(横向—代理更多的类,需要建更多的代理类实现全部的接口,纵向—增加更多的方法,代理类必须实现对象全部的方法)  *可维护性差
  •     代理模式— 动态代理


        JDK动态代理

       

        private Object actot;

       Object invoke(Object proxy,Method method,Object[] args) throw Throwable{

            //前入方法

            //反射调用

            Object ret =method.invoke( actor,agrs);

            //后入方法

            return ret;

         } 

        ——动态代理的原理

                                   

        ——动态代理的问题:

  1. 代理类的.class文件在哪?    *本地硬盘,*网络,*内存。
  2. 代理类的实例是怎么产生的?  *通过反射和构造函数。
  3. 方法是怎么增强的?  *invacationhander.invoke()

      ——动态代理的局限性

  1.   被代理的类必须实现类必须实现invocationhandler个接口
  2.   底层使用反射运行期性能较差


         CGLib动态代理  ——实现运行期动态扩展java类,核心api—*MethoInterceptor,*Enhancer(增强器)

         CGLib动态代理的局限性:* 类和方法不能加final修饰,*会拦截被代理的所有方法


         

        

          


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值