AOP 中的 Join point 可以有多种类型: 构造方法调用、字段的设置和获取、方法调用、方法执行、异常处理执行、类的初始化。即在 AOP 的概念中我们可以在这些 Join point 上织入我们自定义的 Advice,但在 Spring 中并没有实现上述所有的 Join point,确切的说,Spring 只支持方法执行类型的 Join point
Advice 的类型:
before advice: 在 join point 前被执行的 advice,但是不能人为阻止 join point 的执行,除非发生异常
after return advice: 在一个 join point 正常返回后执行的advice
after throwing advice: 当一个 join point 抛出异常后执行的 advice
after(final) advice: 无论一个 join point 正常退出或者发生异常,都会被执行的 advice
around advice: 在 join point 前和 join point 退出后都执行的advice