spring aop执行顺下
时间: 2023-08-31 16:02:31 浏览: 115
spring aop实现
在Spring AOP中,切面的执行顺序依赖于通知的类型和配置方式。通常情况下,Spring AOP的执行顺序如下:
1.前置通知(Before advice):在目标方法执行之前执行的通知。它通常用于执行一些准备工作,例如日志记录或参数验证等。
2.环绕通知(Around advice):在目标方法执行前后都执行的通知。它可以控制目标方法的执行,可以在目标方法执行之前执行一些操作,也可以在目标方法执行之后执行一些操作。在环绕通知中,可以通过调用ProceedingJoinPoint对象的proceed()方法来执行目标方法。
3.后置返回通知(After-returning advice):在目标方法成功执行后执行的通知。可以获取目标方法的返回值,并进行一些处理。
4.后置异常通知(After-throwing advice):在目标方法抛出异常之后执行的通知。可以获取目标方法抛出的异常,并进行一些处理。
5.后置最终通知(After advice):无论目标方法是否抛出异常,都会执行的通知。通常用于释放资源或进行一些清理操作。
在配置多个切面时,还可以通过设置不同切面的优先级、使用@Order注解等方式来控制切面的执行顺序。切面的优先级越高,表示其在执行顺序中越靠前。同一个切面内的不同通知之间的执行顺序取决于通知类型的不同。
总的来说,Spring AOP的执行顺序是前置通知 -> 环绕通知 -> 目标方法执行 -> 后置返回通知(如果有返回值) -> 后置异常通知(如果有异常) -> 后置最终通知。但是具体的执行顺序还会受到切面的配置和优先级的影响。
阅读全文