一 . 概述
AOP给人的感觉很强大,但是很难用.原因就是大多数人只是会配置一下,而不知道是怎么实现的,
对于一个自己都没有把握的技能,自然在应用的过程中不会首先选择.
自己也是一样,本次就自己家整理一下AOP部分的知识,比较系统和底层的的梳理一下.
二 .AOP
老生常谈的面想想切面编程,其实质就是在运行时织入代码逻辑,原理就是动态代理.
这些都是没有什么好惊讶的内容,但是作为AOP的起点,我们还是需要学习一下.
记住,spring的AOP只是方法级别的.
[1]连接点 :
织入代码的单元是方法,那么每一个被织入的代码的方法的实际位置就是连接点,
那么连接点就很好理解了,描述了被注入方法的一切信息.
在spring之中使用JoinPoint来描述.
[2] 切入点 :
我们如果要织入方法,必须对这些方法提出一个抽象的描述,这个抽象的描述就是切入点.
我们可以这么理解,切入点就是一些列连接点的集合的描述.
[3]增强 :
我们使用什么样的代码织入呢,这些织入的逻辑就是增强.
在一个方法之中,可以织入代码的位置有很多,因此也就引出了很多不同的增强方式,如前置增强,后置增强等.
[4]目标对象 : 原始的对象就是目标对象,AOP就是对这些对象进行增强的的.
[5]代理对象 : 被织入代码的对象就是代理对象.