① 前置增强,特征是前置增强方法先于目标方法执行结束;
② 后置增强,特征是后置增强方法在目标方法后执行;
③ 返回增强,特征为返回增强并不一定执行,当目标函数抛出异常时它不会执行;
④ 异常增强,使用这个增强时有如下注意事项:
(1.)目标函数要抛出异常,并且抛出的异常是public void afterThrowing(JoinPoint joinPoint,Exception e)中规定捕获的异常的子类,或者是同样的异常,这里可以用数学中的交集理解:
(2.)当目标函数不抛出异常时,可以执行返回增强,此时异常增强不执行;当目标函数抛出异常时,返回增强不执行,异常增强可以执行。故二者不会同时执行
总之:执行顺序为 前置增强----->目标函数------->后置增强-------->返回增强跟异常增强二选一
⑤ 环绕增强,特征是在目标方法执行前后同时实施增强