AOP-面向切面编程
面向切面编程,能够让我们在不影响原有功能的前提下,横向地扩展功能。
具体来说,当我们需要在许多类中添加相同逻辑的代码(比如打日志)的时候,一般我们会在每个类中写入这些代码,当需要对这些相同逻辑的代码进行修改时,又需要找到这些类,然后进行修改。当使用了AOP后,只需要将重复的代码写一次,需要时候调用就可以了。
AOP五种通知类型
前置通知:在目标方法执行之前执行的通知。
环绕通知:在目标方法执行之前和之后都可以执行的通知。
后置通知:在目标方法执行之后执行的通知。
异常通知:在目标方法抛出异常时执行的通知
最终通知:在目标方法执行之后执行的通知。
后置通知 是在方法正常返回后执行的通知,如果有异常抛出,后置通知不会执行。
最终通知 无论如何都会通知。
执行顺序:
1.进入环绕通知
2.前置通知
----------执行切点方法----------
3.退出环绕通知
4.后置通知