这几天在浏览一些网站或资料后,按照个人理解,写下的自己对SpringAOP的理解,如果有误请大家指出,谢谢。
首先是概念,以后会陆续增加。
Spring A op的相关观念和术语介绍:
1、 切面(Aspect):可以模块化的,可以独立重用的服务。如事务处理(Spring经典的例子)。
2、 通知(Advice):切面的具体实现,可以看做是一个方法。
3、 连接点(JoinPoint):程序运行过程中的某个阶段点。如某个方法调用,或者某个异常被抛出等 等。
4、 切入点( Pointcut ):一系列JoinPoint的集合, 定义了 Advice 应该应用在哪些连接点,通知可以应用到AOP框架支持的任何连接点。
5、 引入(Introduction):为类添加新方法和属性。
6、 目标对象(Target Object):被通知的对象。
7、 AOP代理(AOP Proxy): AOP框架创建的对象 ,可以是JDK动态代理或者CGLIB。
8、织入(Weaving): 把切面(aspect)连接到其它的应用程序类型或者对象上,并创建一个被通知 (advised)的对象。 这些可以在编译时(例如使用AspectJ编译器),类加载时和运行时完成。 Spring和其他纯Java AOP框架一样,在运行时完成织入。 简单点就是把通知放入到程序中的过程。