现在的位置: 首页 > 综合 > 正文

Spring AOP之术语简介

2014年02月27日 ⁄ 综合 ⁄ 共 961字 ⁄ 字号 评论关闭

1、AOP概念

首先让我们从定义一些重要的AOP概念开始。

切面(Aspect): 一个横切性关注点的模块化,这个关注点可能会横切多个对象。

连接点(Joinpoint): 在程序执行过程中某个特定的点,比如某方法调用的时候或者处理异常的时候。 在Spring
AOP中,一个连接点总是代表一个方法的执行。
通过声明一个org.aspectj.lang.JoinPoint类型的参数可以使通知(Advice)的主体部分获得连接点信息。

通知(Advice): 在切面的某个特定的连接点(Joinpoint)上执行的动作,即横切性关注点的具体实现。通知有各种类型,其中包括“around”、“before”和“after”等通知。

切入点(Pointcut): 匹配连接点(Joinpoint)的断言。通知和一个切入点表达式关联,并在满足这个切入点的连接点上运行(例如,当执行某个特定名称的方法时)。

引入(Introduction): (也被称为内部类型声明(inter-type declaration))。声明额外的方法或者某个类型的字段。当我们的类中有方法一和方法二时可以动态的添加方法三。

目标对象(Target Object): 真实实现类,被一个或者多个切面(aspect)所通知(advise)的对象。也有人把它叫做
被通知(advised) 对象。 既然Spring AOP是通过运行时代理实现的,这个对象永远是一个 被代理(proxied) 对象。

AOP代理(AOP Proxy): AOP框架创建的对象,用来实现切面契约(aspect contract)(包括通知方法执行等功能)。
在Spring中,AOP代理可以是JDK动态代理或者CGLIB代理。 注意:Spring
2.0最新引入的基于模式(schema-based)风格和@AspectJ注解风格的切面声明,对于使用这些风格的用户来说,代理的创建是透明的。

织入(Weaving): 把切面(aspect)连接到其它的应用程序类型或者对象上,并创建一个被通知(advised)的对象,把A。
这些可以在编译时(例如使用AspectJ编译器),类加载时和运行时完成。 Spring和其他纯Java AOP框架一样,在运行时完成织入。

 

AOP的具体实现可以采用Annotation方式实现
,也可以采用配置文件方式实现


抱歉!评论已关闭.