Spring AOP 术语

1.连接点

一个类或一段程序代码拥有一些具有边界性质的特定点,特定点称为连接点。
Spring仅支持方法的连接点。
连接点由两个信息确定:一是用方法表示的程序执行点;
					  二是用相对位置表示的方位。
			如在Test.foo()方法执行前的连接点,执行点为Test.foo(),方位为该方法执行前的位置。
			Spring使用切点对执行点进行定位,而方位则在增强类型中定义。

2.切点

每个程序类都拥有多个连接点, 将要被增强的连接点称之为切点。一个切点可以匹配多个连接点。执行点

3.增强

增强是织入目标类连接点上的一段程序代码。
增强除了用于描述一段程序代码外,还拥有连接点的方位信息。

4.目标对象

增强逻辑织入目标类。

5.引介

引介是一种特殊的增强,它为类添加一些属性和方法。这样,即使一个业务类原本没有实现某个接口,通过AOP
的引介功能,也可以动态地为该业务类添加接口的实现逻辑,让业务类成为这个类接口的实现类。

6.织入

织入是将增强添加到目标类的具体连接点的过程。
根据不同的实现技术,AOP有三种织入方式:
	a.编译期织入,这要求使用特殊的Java编译器
	b.类装载期织入,这要求使用特殊的类装载器
	c.动态代理织入,在运行期为目标类添加增强,生成子类的方式。

	Spring采用动态代理织入,AspectJ采用编译期织入和类装载期织入。

7.代理

一个类被AOP织入增强后,就产生了一个结果类,它是融合了原类和增强逻辑的代理类。
根据不同的代理方式,代理类既可能是和原类具有相同接口的类,也可能是原类的子类。

8.切面

切面由切点和增强(引介)组成,它既包括横切逻辑的定义,也包括连接点的定义

posted on 2018-02-02 16:54  whlshot  阅读(102)  评论(0编辑  收藏  举报

导航