看Spring中的AOP发现很多资料上有先引入动态代理来慢慢引入Spring的AOP,AOP实现的策略有Dynamic Proxies
请问动态代理(Dynamic Proxies)和我们说的代理模式是一回事吗?
如果按照AOP技术帮助我们解决问题的角度——不破坏原有代码基础上增加其他功能的话,油漆工模式(Decorator)和适配器模(Adapter)式也可以实现
为什么要用代理模式呢?
感觉 Dynamic Proxies不是代理模式,为什么有些资料上都说是代理模式呢?
谢谢了!

解决方案 »

  1.   

    说的Spring AOP主要原理是代理(Proxy)
    这里的代理是,我们平时说的代理模式吗?
      

  2.   

    代理模式分为静态代理和动态代理,AOP就是用的动态代理模式。
    我不知道你平时说的代理是什么代理,如果平时说的是静态代理那就是不是啦。
      

  3.   

    我说的代理是java中23种设计模式中的代理模式
      

  4.   

    是java23种代理模式种的proxy(代理模式),只不过是动态生成代理类而已。不需要自己去写代理类。
      

  5.   

    不过要在applicationContext.xml中配置
      

  6.   

    我是这样理解的:
    spring中的AOP和jdk中的动态代理在原理上是一致的.
    AOP是说Aspect oriented Programming,即面向切面的编程.
    这里所说的切面是指可以从程序中单独抽取出来的一部分功能的代码模块,
    这一模块与其他的业务代码是独立的,例如:实现检查用户是否登录的代码,
    检查安全性的代码等.
    使这部分代码(当然还可以封装到一个类中或方法里)在实际方法调用
    之前或之后调用,就成了jdk的动态代理了~~