切面:除了目标类以外的类都是切面
通知:切面中的方法就是通知
连接点:客户端调用那个方法,那个方法就是连接点
切入点:相当于条件
织入:形成代理对象的方法和过程就称为织入
通知类型(针对目标方法而言):
- 前置通知:在目标方法执行前调用
- 后置通知:在目标方法执行之后调用,后置通知可以获取目标方法的返回值,当目标方法抛出异常,后置对象不再执行
- 异常通知:接受目标方法抛出的异常
- 最终通知:相当于finally,无论目标方法是否异常,都会执行
- 环绕通知:能控制目标方法的执行,如果joinPoint.proceed()这个代码在环绕通知中不谢,则目标方法不再执行
区别:前置通知和后置通知能在目标方法的前面和后面加一些代码,但是不能控制目标方法的执行
AOP的意义:
在开发的时候,各个切面和目标类是完全松耦的,但是最终生成的代理对象的方法把这几个内容就结合起来了(代理方法=目标方法+通知)
代理对象
网友评论