Spring黑马笔记入门八

来源:互联网 发布:淘宝确认收货 花呗 编辑:程序博客网 时间:2024/06/07 02:17

这节课我们来练习一下AOP

这里写图片描述

这里写图片描述

这里写图片描述

有了切入点表达式以后,我就能圈定范围了。
id是唯一标识
里面放置前置通知,再来一个后置通知
这里写图片描述

哎?拦截器的invoke方法,不用写(不是很懂)
这里写图片描述
这里提示一下:
这里是Aop,不是springAop,(strutsAop也有,strus2是在spring2.5以后出来的,strutsAop实际上是借鉴了的)直到spring2.5的出现把Aop发展到了最顶点,关注的是事务处理。
这里写图片描述

这里写图片描述

这里写图片描述

代理对象:实际上是 前置通知+目标方法+后置通知
这个是结构图:很简单
这里写图片描述

这里写图片描述

前置通知和后置通知,都有一个参数,那就是连接点
通过下面这个语句我们就能够获得 连接点的名称

String nethodName=joinPoint.getSingletrue().getName()String joinPoint.

这里写图片描述

同样的,后置通知也是有以上的方法的,虽然说我切面的各个通知也目标参数是松耦合的,但是我依然可以在通知中获得很多信息。后置通知中,还有一个返回值参数,也是可以在方法中获得的。

这里写图片描述

最终通知:无论目标方法是否正常执行,都会执行最终通知,在实际的应用中并不是很常见。
这里写图片描述
这里写图片描述

异常通知:
这里写图片描述
这里写图片描述

以上的通知类中,都要一个参数 连接点
环绕通知:
这里写图片描述

先经过环绕通知,可以控制目标方法的执行,不写则不执行。
如果不写的话,最终通知也不会执行。也就是说如果目标方法未执行,则最终通知也不执行。比如说,你写权限的时候,让你执行就执行,不写就不能执行,这很重要!!
注意参数的不同

joinPoint.proceed()

前置通知和后置通知能在目标方法的前面和后面加一些代码,但是不能控制不能控制目标方法的执行,但是环绕通知可以做得到。

原创粉丝点击