【框架】124:spring框架之切面编程步骤说明( 二 )


aop:after-throwing也就是抛出通知 。
aop:after也就是最终通知 。
method:通知类中的方法名;pointcut-ref="myPointcut":注入切入点 。
2通知类的编写
因为测试方法和上述是差不多的 , 所以不再赘述 , 将测试结果放在一起说明:
【框架】124:spring框架之切面编程步骤说明
文章图片
配置文件中给指定方法设置通知的类型 , beforeTest方法就是前置通知 。
增强CustomerServiceImpl类中的所有方法 , 前置通知就相当于在对应方法之前执行增强的功能 。
joinPoint就是连接点 , 在这里也就是目标对象中的所有方法 , 该参数是一个可选参数 , 其有三个常用的方法:
getSignature()方法:获取目标对象方法 。
getThis()方法:获取的是代理对象 。
getTarget()方法:获取的也就是目标对象 。
我这边只说明一下前置通知 , 其它的基本上都是大同小异的 。
不过每个通知都有自己的应用场景 , 这个以后遇到具体的场景了再说明 。
我会在以后做一个其对应的应用合集 。
三、Aspectj注解配置AOP
会了xml , 注解就真心很简单了 。
1配置xml文件
【框架】124:spring框架之切面编程步骤说明
文章图片
配置注解扫描
配置aspectj的自动代理机制
设置好这两个标签之后 , 就可以全部都使用注解配置AOP了 。
2通知类的编写
【框架】124:spring框架之切面编程步骤说明
文章图片
确认目标对象
用注解将该类放入spring容器中 。
确认增强的功能
@Aspect注解即表示 , 将其作为aop管理 。
环绕通知
ProceedingJoinPoint是环绕通知中的一个参数 , 翻译过来就是可执行的连接点的意思 。
通过该参数调用proceed()方法就相当于执行原目标对象中的方法 。
抛出通知
这个是如果出现了异常 , 就会执行该增强功能 , 也就相当于try…catch 。
当然还有其它几种通知:
@Before前置通知 , 相当于BeforeAdvice 。
@AfterReturning后置通知 , 相当于AfterReturningAdvice 。
@After最终final通知 , 不管是否异常 , 该通知都会执行 。
最后
AOP这块的知识点有点生涩难懂 , 自己无论是学习效率还是笔记质量这块都下降了很多 , 这我也是能感受到的 。
只能说目前来说所追求的还是一个学习进度 , 保证每天都有输出 , 至于质量问题只能留待以后一点点优化了 。
谢谢你的观看 。
【框架】124:spring框架之切面编程步骤说明】如果可以的话 , 麻烦帮忙点个赞 , 谢谢你 。