对spring AOP的理解

来源:互联网 发布:如何创建app软件 编辑:程序博客网 时间:2024/04/27 02:53



AOP的概念:   aspect  oriented  programming    面向切面的编程

    优点 :         在不破坏程序原有架构的基础上对程序注入新的逻辑

                         降低了程序耦合度

                          提高了程序的灵活性

   

   实现方法 :    jdk的proxy,cglib的生成二进制文件 继承代理对象方法等

    实现方法的优缺点 (这里只考虑以上两种):


                               jdk自带的方法是调用proxy类生成代理对象,通过代理对象调用目标对象的方法,并在前后加入自己的逻辑。  优点:实现简单,灵活;缺点:生成代理的对象必须实现invocationhandler接口,对没有实现该接口的对象不能进行调用。

                           cglib方法通过生成目标的自类并调用目标类方法,在其前后加入逻辑实现,优点是不用实现invocationhandler接口,缺点:指定的类不能是final包括方法

        spring的AOP:结合使用了jdk与cglib两种方法。spring的支持文档里说到,他的AOP并不是指望完成多么强大的AOP功能(似乎已经很强大了),其真正的目的在于结合他自身的IOC功能。

原创粉丝点击