AOP的组成部分

几个关键部分: 一个是AOP的配置(拦截规则的配置),一个是代理对象的创建,一个是统一的拦截调用过程。
AOP的配置:Spring是自己定义了一套规则同时集成了AspectJ的语法,抽象为了Pointcut类。
代理对象的创建:SpringAOP定义了一个工厂类AopProxy,同时支持JDK动态代理和CGlib动态代理。
统一的拦截调用过程:则是使用了AOP联盟中定义的拦截过程:Advice—–>Interceptor——->MethodInterceptor。但是SpringAOP在这个基础上做了一些扩展,形成了自己的一套体系。

接下来介绍Spring AOP 各组成部分:
Advice:SpringAOP联盟中定义的类。是一个标识性的接口。通知类型的接口。同时也是Interceptor、MethodInterceptor的父类。通知类型都有去实现的一个接口。
Advisor:关联了Advice和Pointcut。在SpringAOP中是一个很关键的类。上起到了连接点的匹配下起到了通知类型的调用。统一了拦截的调用过程。
Advised:关联了Advisor和TargetSource的类。也是AOP中一个很关键的类。AOP进行方法拦截的时候,就是从它里面获取的拦截调用链。

aop各组成 部分及相互关系,如下类图:
Spring源码:AOP(1)

相关文章: