zoukankan      html  css  js  c++  java
  • Spring(spring5 framework)代理模式

    1.代理模式分类:

        1.静态代理:接口, 接口实现,接口实现代理对象(传参 ) 。

         代理类和各种实现类 具有相同的祖宗==》猴, 你和代理类具有相同的方法,就可以让代理帮你了,代理买的方法中嵌套你的实现。

        2.动态代理:1.JDK实现  (针对所有有接口的实现类)2.CGlib  (code  generation  library) 3.JavaAssist 修改字节码类

      1.JDK实现

        Proxy.newInstance(ClassLoader classloader, Class<?>[] interfaces,InvocationHandler invocationhandler)

           classloader:代理对象  创建在哪个类加载器上《===》代理对象在哪个类加载器上加载

           interfaces:代理对象  要实现的接口,实现了就可以拥有接口上的方法===或者说获取接口的方法列表 传递给 InvocationHandler的Method 

           InvocationHandler:代理对象   代理的   接口方法  的处理交由invocationHandler对象处理。

          生成  与代理类相同接口的    代理类对象

        创建InvocationHandler接口的实现类,实现invoke方法

        class    Demo  implements  InvocationHandler{

              public Object  invoke(Object  proxy,Method method,Object[] args){           };

                  参数proxy:代表Proxy.newInstance()方法内部创建的代理对象。真实的代理对象;

                 method:是被代理接口的方法

                args:是参数数组。            

              }

          

              

  • 相关阅读:
    html5 file 上传文件
    JavaScript数组去重—ES6的两种方式
    音频资源下载
    whistle工具全程入门
    解构赋值
    节流(Throttling)和去抖(Debouncing)详解
    HTML5实现全屏
    Vue.js 子组件的异步加载及其生命周期控制
    6个Async/Await完胜Promise的原因
    Docker容器学习与分享08
  • 原文地址:https://www.cnblogs.com/chencn/p/12335829.html
Copyright © 2011-2022 走看看