基础概念
一.AOP术语
通知(Advice)
通知是定义了:做什么以及何时做.
在AOP术语中,切面的工作被称为通知。
通知定义了切面是什么以及何时使用。除了描述切面要完成的工作,通知还解决了何时执行
这个工作的问题。它应该应用在某个方法被调用之前?之后?之前和之后都调用?还是只在
方法抛出异常时调用?Spring切面可以应用5种类型的通知:
前置通知(Before):在目标方法被调用之前调用通知功能;
后置通知(After):在目标方法完成之后调用通知,此时不会关心方法的输出是什么;
返回通知(After-returning):在目标方法成功执行之后调用通知;
异常通知(After-throwing):在目标方法抛出异常后调用通知;
环绕通知(Around):通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行
自定义的行为。
- 连接点(Join point)
电力公司为多个住户提供服务,甚至可能是整个城市。每家都有一个电表,这些电表上的数字
都需要读取,因此每家都是抄表员的潜在目标。抄表员也许能够读取各种类型的设备,但是为
了完成他的工作,他的目标应该房屋内所安装的电表。
同样,我们的应用可能也有数以千计的时机应用通知。这些时机被称为连接点。
连接点是在应用执行过程中能够插入切面的一个点。这个点可以是调用方法时、抛出异常时、甚至修改一个字段时。切面代码可以利用这些点插入到应用的正常流程之中,并添加新的行为。