zoukankan      html  css  js  c++  java
  • [Spring实战笔记]4面向切面编程的Spring-代理

    代理

    • 代理(Proxy)是一种设计模式,可以在目标对象实现的基础上,扩展目标对象的功能。
    • 代理对象是对目标对象的扩展,并会调用目标对象。

    三种代理模式

    • 静态代理 100%
      代理对象与目标对象要实现相同的接口,然后通过调用相同的方法来调用目标对象的方法。
      优点:不用修改原对象。
      缺点:一旦接口增加方法,目标对象和代理对象都要维护。
    • 动态代理(也叫JDK代理,接口代理) 30%
      动态代理中,代理对象不需要实现接口,代理对象的生成是利用JDK的API,动态地在内存中构建代理对象。
      使用java.lang.reflect.Proxy包中的newProxyInstance方法:
    static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces,InvocationHandler h )
    

    要求:要求目标对象必须实现了接口。

    • Cglib代理(子类代理) 10%
      Spring AOP使用。Spring的切面由包裹了目标对象的代理类实现。代理类处理方法的调用,执行额外的切面逻辑,并调用目标方法。

    参考链接

    https://www.cnblogs.com/qlqwjy/p/7550609.html

  • 相关阅读:
    Linux进程管理
    GitHub
    MySQL存储过程
    MySQL自定义函数
    MySQL运算符和内置函数
    js类型检测
    防止SQL注入的方法
    PDO数据库抽象层
    PHP操作MySQL的常用函数
    第二周
  • 原文地址:https://www.cnblogs.com/coding-gaga/p/10711534.html
Copyright © 2011-2022 走看看