Spring-3.1.1AOP基本概念(未完)

Aspect(切面):是个类,类里写了想要横切进去的逻辑。

Advice(通知):在切面某个特定的连接点上执行的动作。其中包括“around”、“before”、“after”等不同类型的通知。

Joinpoint(连接点):程序执行时某个特定的点,比如某个方法调用的时候。在Spring中,一个连接点总是表示一个方法的执行。

Pointcut(切入点):是个表达式,声明了连接点的位置。通知和一个切入点关联,并在满足这个切入点的连接点上运行。

Introduction(引入):用来给一个类型声明额外的方法或属性。Spring允许引入新的接口(以及一个对应的实现)到任何被代理的对象。

Target Object(目标对象):被一个或多个切面所通知的对象。Spring AOP通过运行时代理实现,因此,这个对象永远是一个被代理对象。

AOP Proxy(AOP代理):AOP框架创建的对象,用来实现你想要的切入功能。Spring中,AOP代理是JDK动态代理或者CGLIB代理。

Weave(织入):把切面连接到其他的应用程序类型或者对象上,并创建一个被通知对象。织入可以在编译时,类加载时和运行时完成,Spring是在运行时完成的。

 

pointcut和JoinPoint的区别:

 

通知的类型有:

Before advice(前置通知):连接点之前执行。

After returning advice(后置通知):连接点正常完成之后执行。

After throwing advice(异常通知):在方法抛出异常时执行通知。

After advice(最终通知):当某个连接点退出时执行,而不管是否正常退出。

Around advice(环绕通知):连接点前后都执行的通知。此是最常用的。

 

要想通知细粒度的对象,Spring AOP无法完成。实际中90%的都在方法上。

 

(待续...)

 

 

posted @ 2012-03-03 19:59  我愿为蛹  阅读(636)  评论(0)    收藏  举报