Spring AOP术语

Spring AOP术语:

1.连接点(Joinpoint)
程序执行的某个特定岗位:如类某个方法调用前、调用后、方法抛出特别后。一个类或一段程序代码拥有一些持有界限性质的特定点,这个点中的特定点就叫做“连接点”。Spring仅协助措施的连接点,即仅能在点子调用前、方法调用后、方法抛出分外时以及艺术调用前后这个程序执行点织入文告。连接点由多个音讯确定:第一是用艺术表示的顺序执行点;第二是用绝对点表示的方位。连接点是在拔取执行进程中可知插入切面的一个点。

以查电表为例子:电力公司为多个居家提供劳务,连接点就是每一家的电表所在的岗位(类中的方法的调用前、调用后…)。

2.切点(Pointcut)
AOP通过“切点”定位一定的连接点。切点和连接点不是极度的涉嫌,一个切点可以匹配两个连接点。在Spring中,切点通过org.springframework.aop.Pointcut接口举办描述,它使用类和模式作为连接点的询问条件,Spring
AOP的规则解析引擎负责切点所设定的询问条件,找到相应的连接点。其实确切地说,不可以称为查询连接点,因为连接点是措施执行前、执行后等包罗方位音讯的具体程序执行点,而切点只固定到某个方法上,所以假诺希望一定到实际连接点上,还索要提供方向音讯。

电力公司为每一个抄表员都各自指定某一块区域的住户。切点就是分开的区域。

3.通知(Advice)
断面的办事被称之为通知。是织入到对象类连接点上的一段程序代码。
Spring切面能够运用5种档次的通报:

  • 嵌入通知(Before):在目的措施被调用在此以前调用通告功效;
    -后置通告(After):在目的措施成功之后调用通知,此时不会关注方
    法的输出是怎么着;
    -重返通告(After-returning):在目标措施成功进行之后调用通知;
    -相当通告(After-throwing):在对象措施抛出非凡后调用通告;
    -环绕布告(Around):公告包裹了被通报的情势,在被通报的方式调
    用事先和调用之后执行自定义的表现。

抄表员的本职工作是登记用电量,但他们还索要向电力公司上报的音信。
注册用电量是目的对象,汇报的信息就是通知。

4.引介(Introduction)
引入允许我们向现有的类添加新点子或性质,是一种特有的通告。这样,即便一个工作类原本没有兑现某个接口,通过AOP的引介效能,我们可以动态地为该事务类添加接口的落实逻辑,让工作类成为那个接口的实现类。

5.切面(Aspect)
断面由切点和通报(引介)组成,它既包括了横切逻辑的概念,也囊括了连接点的定义。

抄表员的先导一天的做事时,他要明了从哪些区域(切点)收集音讯,从而举办反馈(通告)。

6.织入(Weaving)
织入是把切面应用到对象对象并创办新的代办对象的经过。
AOP有三种织入的主意:
a、编译期:切面在目的类编译时被织入。这种措施需要独特的编译器。AspectJ的织入编译器就是以这种艺术织入切面的。
b、类加载期:切面在对象类加载到JVM时被织入。这种措施亟待独特的类加载器(ClassLoader),它可以在对象类被引入应用以前增
强该目标类的字节码。AspectJ 5的加载时织入(load-time
weaving,LTW)就援助以这种艺术织入切面。
c、运行期:切面在动用运行的某个时刻被织入。一般情形下,在织入切面时,AOP容器会为对象对象动态地成立一个代理对象。Spring
AOP就是以这种办法织入切面的。