3.Spring通知(Advice)有哪些类型?
- 前置通知(Before Advice):在连接点(Join point)之前执行的通知。
- 后置通知(After Advice):当连接点退出的时候执行的通知(不论是正常返回还是异常退出)。
- 环绕通知(Around Advice):包围一个连接点的通知,这是最强大的一种通知类型。 环绕通知可以在方法调用前后完成自定义的行为。它也可以选择是否继续执行连接点或直接返回它们自己的返回值或抛出异常来结束执行。
- 返回后通知(AfterReturning Advice):在连接点正常完成后执行的通知(如果连接点抛出异常,则不执行)
- 抛出异常后通知(AfterThrowing advice):在方法抛出异常退出时执行的通知
注意:定义切点时候,还可以通过自定义注解的方式,此时切点会找到使用自定义注解标注的连接点,然后进行切面的织入。
先自定义一个注解,(不会的小伙伴请补充学习元注解等概念),然后在切面的 PointCut 定义时使用 注解方式,而不是使用表达式方式:
// 自定义注解
@Target(ElementType.METHOD)
@Retention(Retent