ProceedingJoinPoint 和 JoinPoint 是 Spring 中 AOP 框架中两个常用的接口,它们的主要区别在于使用场景不同。
-
JoinPoint是 Spring AOP 中最常用的接口,它表示在程序执行过程中明确的点。这个接口提供了许多方法,可以访问到当前被拦截方法的信息。 -
ProceedingJoinPoint是一个特殊的 JoinPoint,它表示可以继续进行被拦截方法的执行。它提供了一个 proceed() 方法,可以执行被拦截的方法。这个接口只能在 @Around 注解修饰的方法中使用。
通俗一点,JoinPoint就是在程序执行过程中明确的点,提供访问当前被拦截方法的信息,而ProceedingJoinPoint除了JoinPoint能够获徖的信息外,还可以通过proceed()方法来继续执行被拦截的方法,常用于@Around修饰的AOP拦截。