小七 发表于 2014-5-27 22:36

spring AOP( 面向切面、面向方面、面向接口)

Aop 面向切面、面向方面、面向接口
   程序中涉及到公共问题,集中解决
Spring Aop中使用就动态代理
   1、实现InvocationHandler
   2、生成代理对象
       Proxy.newProxyInstance(objectTarget.getClass().getClassLoader(),
                                                       objectTarget.getClass().getInterfaces(),
                                                       this)
       3、编写invoke方法
          执行newProxy自动执行invoke
                                                         
                                                       
AOP相关概念                                                    
1、关注点(concern)
   一个关注点可以是一个特定的问题,概念、或者应用程序的兴趣点。总而言之,应用程序必须达到一个目标
   安全验证、日志记录、事务管理都是一个关注点
   在oop应用程序中,关注点可能已经被代码模块化了还可能散落在整个对象模型中
2、横切关注点(crosscutting concern)
   一个关注点的实现代码散落在多个类中或方法中
3、方面(aspect)
   一个方面是对一个横切关注点模块化,它将那些原本散落在各处的,
   用于实现这个关注点的代码规整在一处
4、建议(通知)(advice)
   advice是point cut执行代码,是方面执行的具体实现
   前置、后置、环绕、异常通知
5、切入点(pointcut) add*
   用于指定某个建议用到何处
6、织入(weaving)
   将aspect(方面)运用到目标对象的过程
7、连接点(join point)
程序执行过程中的一个点

8、targetObject 目标对象
9、proxyObject代理对象

spring AOP主要是使用是动态代理机制   
spring AOP 完成日志输出
前置通知
(1)创建目标对象
(2)创建前置通知
   实现MethodBeforeAdvice
   完成before处理
   (3)完成代理工厂类装配
      (a)代理类接口
      (b)通知
      (c)目标对象

页: [1]
查看完整版本: spring AOP( 面向切面、面向方面、面向接口)