Aop基础

转自:http://blog.csdn.net/liujiahan629629/article/details/18864211

Aop技术建立在java语言的反射机制与动态代理机制之上的。业务逻辑组件在运行过程中,AOP容器会动态创建一个代理对象供使用者调用,该代理对象已经按Java EE程序员的意图将切面成功切入到目标方法的连接点上,从而使切面的功能与业务逻辑的功能同时得以执行。从原理上讲,调用者直接调用的其实是AOP容器动态生成的代理对象,再由代理对象调用目标对象完成原始的业务逻辑处理,而代理对象则已经将切面与业务逻辑方法进行了合成。

切面(Advice):共有功能的实现;在实际应用中通常四共有功能实现的普通java类,加上配置才被aop容器识别成切面;

通知(Advice):是切面的具体实现,分为前置通知(Before),后置通知(AfterReturning),异常通知(AfterThrowing),最终通知(After),环绕通知(Around);在实际应用中是切面类中的一个方法,加上配置成为通知;

连接点(JoinPoint):程序在运行过程中能够插入切面的地点。(Spring只支持方法级别的连接点)。

切入点(Pointcut):用于定义通知应该切入到哪些连接点。通过切入点的正则表达式精确定义通知切入到对应的连接点上。

目标对象(Target):即将切入切面的对象,即被通知的对象,所有共有功能将等待aop容器切入进来。

代理对象(Proxy):将通知应用到目标对象之后被动态创建的对象,代理对象即目标对象核心业务逻辑功能加上共有功能的产物。

织入(Weaving):将切面应用到目标对象从而创建一个新的代理对象的过程。

原文地址:https://www.cnblogs.com/xiaoweigangwan/p/7852762.html