AOP的基本概念

来源:互联网 发布:sql server join 编辑:程序博客网 时间:2024/06/07 01:57

    AOP从程序运行绝度考虑程序的流程,提取业务处理过程的切面。AOP面向的是程序运行中的各个步骤,希望以更好的方式来组织业务处理的各个步骤。

   AOP框架并不与特定的代码耦合,AOP框架能处理程序执行中特定切入点(Pointcut),而不与某个具体类耦合。AOP框架具有如下两个特征:

(1)各步骤之间的良好隔离性

(2)源代码无关性

    下面是关于面向切面编程的一些术语:

          切面(Aspect):业务流程运行的特定步骤,也就是应用运行过程的关注点,关注点可能横切多个对象,所以常常也成为横切关注点

          连接点(JoinPoint):程序执行过程中明确的点,如方法的调用,或者异常的抛出。Spring AOP中,连接点总是方法的调用

          增强处理(Adivce):AOP框架在特定的切入点执行的增强处理。处理有”around“、”before“、和”after“等类型

          切入点(Pointcut):可以插入增强处理的连接点。简而言之,当某个连接点满足制定要求时,该连接点将被添加增强处理,该连接点也就变成了切入点。

          引入:将方法或字段添加到被处理的类中。Spring允许引入新的接口到任何被处理的对象。

          目标对象:被AOP框架进行增强处理的对象,也被成为被增强的对象。如果AOP框架通过运行时代理实现的,那么这个对象将是一个被代理的对象。

          AOP代理:AOP框架创建的对象,简单的说,代理就是对目标对象的加强。Spring中的AOP代理可以是JDK动态代理,也可以是CGLIB代理。前者为实现接口的目标对象的代理,后者为不实现接口的目标对象的代理

          织入(Weaving):将增强代理添加到目标对象中,并创建一个被增强的对象(AOP代理)的过程就是织入。织入有两种实现方式:编译时增强(例如AspectJ)和运行时增强(例如CGLIB)。Spring和Java其他框架一样,在运行时完成织入。

 

 

原创粉丝点击