为什么要引入aop?
比如如下情景:
在父类的方法名称发送了变化,在子类调用的方法也需要变化,当工程规模越来越大的时候,维护起来相当不方便,于是就引入了横向切面aop。
aop的相关概念:
连接点:类里面可以被增强的方法叫连接点
切入点:在类里面可以有很多的方法被增强,比如实际操作中,只是增强了某几个方法,这些实际被增强的方法叫切入点
通知/增强:增强的逻辑,称为增强,比如扩展了一个日志功能,这个日志功能称为增强
- 前置通知:在方法之前执行
- 后置通知:在方法之后执行
- 异常通知:在方法出现异常
- 最终通知:在后置之后执行
- 环绕通知:在方法之前和之后执行
切面:把增强应用到切入点(具体方法)上面,过程称为切面