美文网首页
代理详解

代理详解

作者: imbird | 来源:发表于2017-04-07 10:25 被阅读0次

最近在回顾spring aop;想想这个aop很简单,无非就是一个面向切面编程.spring aop只支持对方法的连接点。实际中也是最通用的形式。aop的实现就是就是代理。现在对代理写点笔记。

可以通过配置文件或者编程的方式来使用Spring AOP。

配置可以通过xml文件来进行,大概有四种方式:

  1.    配置ProxyFactoryBean,显式地设置advisors, advice, target等
    
  2.    配置AutoProxyCreator,这种方式下,还是如以前一样使用定义的bean,但是从容器中获得的其实已经是代理对象
    
  3.    通过<aop:config>来配置
    
  4.    通过<aop: aspectj-autoproxy>来配置,使用AspectJ的注解来标识通知及切入点
    

注意点:
1、默认使用Java动态代理来创建AOP代理,这样就可以为任何接口实例创建代理了

2、当需要代理的类不是代理接口的时候,Spring会切换为使用CGLIB代理,也可强制使用CGLIB

这里一篇文章很好
http://blog.csdn.net/hintcnuie/article/details/10954631

代理分为静态代理和动态代理两种

静态代理,就是普通的代理模式

因为静态代理需要复写接口中的所有方法 所有重复代码太多 所以出现了动态代理

动态代理 包括 jdk 代理 和gblic 代理

jdk 代理 实现原理

对于JDK 的Proxy,有以下几点:
`` Interface:对于JDK proxy,业务类是需要一个Interface的,这也是一个缺陷

`` Proxy,Proxy 类是动态产生的,这个类在调用Proxy.newProxyInstance(targetCls.getClassLoader, targetCls.getInterface,InvocationHander)之后,会产生一个Proxy类的实例。实际上这个Proxy类也是存在的,不仅仅是类的实例。这个Proxy类可以保存到硬盘上。

`` Method:对于业务委托类的每个方法,现在Proxy类里面都不用静态显示出来

`` InvocationHandler: 这个类在业务委托类执行时,会先调用invoke方法。invoke方法再执行相应的代理操作,可以实现对业务方法的再包装

GBLIC代理

JDK的动态代理机制只能代理实现了接口的类,而不能实现接口的类就不能实现JDK的动态代理,cglib是针对类来实现代理的,他的原理是对指定的目标类生成一个子类,并覆盖其中方法实现增强,但因为采用的是继承,所以不能对final修饰的类进行代理。

它是通过MethodInterceptor 方法拦截器 和 回调函数来实现代理效果的

相关文章

  • Java 动态代理

    java的动态代理机制详解 JDK动态代理详解 Java核心技术点之动态代理

  • java反射和动态代理

    java动态代理Proxy.newProxyInstance 详解java代理机制(静态代理、动态代理)以及使用场景

  • Nginx详解

    nginx详解 一、什么是正向代理和反向代理? 正向代理image反向代理image URI、URL和URN: U...

  • java动态代理和CGLIB动态代理

    动态代理 Java 动态代理详解[https://www.cnblogs.com/whirly/p/1015488...

  • 2018-10-05

    反射_invoke aop详解 代理51cto 代理图解 jvm_死灰级反射入门_笨蛋 代理111 动态代理的目的...

  • JS写事件代理

    js中的事件委托或是事件代理详解

  • 六大原则 动态代理

    参考 六大原则 代理模式 介绍了三种代理:静态代理、Proxy、cglib java 动态代理详解介绍了动态代理具...

  • JDK动态代理详解

    JDK动态代理详解 java动态代理类 Java动态代理类位于java.lang.reflect包下,一般主要涉及...

  • 【PHP开发环境相关】简述PHP运行原理(Nginx+Php-f

    Nginx+Php-fpm 运行原理详解 一、代理与反向代理 现实生活中的例子 1、正向代理:访问google.c...

  • 代理详解

    红包广告项目 ,诚招代理商 培植质优合作商, 一部手机就可以创业 项目市场前景 1、移动互联网时代、传统广告形式,...

网友评论

      本文标题:代理详解

      本文链接:https://www.haomeiwen.com/subject/khacattx.html