增强方法也称为通知方法,指标注有@Before、@AfterRunning、@AfterThrowing、@After或@Around注解的Java方法。其中,有前置增强、后置增强、返回增强、异常增强和环绕增强五种增强方式。
1前置增强(@Before,又称前置通知):在目标方法执行之前执行。
2后置增强(@After,又称后置通知):在目标方法执行后执行,无论目标方法运行期间是否出现异常
注意:后置增强无法获取目标方法执行结果,可以在返回增强中获取。
3返回增强(@AfterReturning,又称返回通知):在目标方法正常结束后执行,可以获取目标方法的执行结果
4异常增强(@AfterThrowing,又称异常通知):目标方法抛出异常之后执行,可以访问到异常对象,且可以指定在出现哪种异常时才执行增强代码。
5环绕增强:目标方法执行前后都可以织入增强处理。
注意:
1、@Before、@After、@AfterRunning和@AfterThrowing修饰的方法可以通过声明JoinPoint 类型参数变量获取目标方法的信息(方法名、参数列表等信息);@Around修饰的方法必须声明ProceedingJoinPoint类型的参数,该变量可以决定是否执行目标方法;
2、@Before、@After、@AfterRunning和@AfterThrowing修饰的方法没有返回值;而@Around修饰的方法必须有返回值,返回值为目标方法的返回值;