zoukankan      html  css  js  c++  java
  • java代理模式

    代理分为两个步骤
    代理对象和真实对象建立代理方法
    实现代理对象的代理逻辑方法

    常见的java动态代理技术很多种
    比如 JDK CGLIB Javassist ASM,最常用的JDK和CGLIB
    JDK java的jdk自身提供的
    CGLIB 第三方提供的技术
    目前 Spring JDK和CGLIB,Mybatis还使用Javassist.
    它们的理念相似

    JDK实现动态代理
    必须要有接口
    newProxyInstance(ClassLoader loader,Class<?>[] interfaces,InvocationHandler h)
    参数1: 类加载器
    参数2: 把生成的动态代理对象挂在哪些接口下
    参数3: 定义实现方法逻辑的代理类,this表示当前对象,它必须实现InvocationHandler接口的invoke方法,即代理逻辑的实现方法

    CGLIB 不需要接口 所以实现起来简单
    Enhancer cglib的加强者
    通过设置超类的方法setSuperclass
    然后通过setCallback方法设置哪个类为它的代理类
  • 相关阅读:
    golang变量2
    golang1
    golang api接收get,post请求读取内容方法
    docker2
    docker
    渗透1
    Crawley框架
    spider类
    爬豆瓣阅读遇到的问题
    CrawlSpiders类
  • 原文地址:https://www.cnblogs.com/czsblog/p/11581420.html
Copyright © 2011-2022 走看看