spring框架之切面编程步骤说明( 二 )


增强CustomerServiceImpl类中的所有方法 , 前置通知就相当于在对应方法之前执行增强的功能 。
joinPoint就是连接点 , 在这里也就是目标对象中的所有方法 , 该参数是一个可选参数 , 其有三个常用的方法:

  • getSignature()方法:获取目标对象中的方法 。
  • getThis()方法:获取的是代理对象 。
  • getTarget()方法:获取的也就是目标对象 。
我这边只说明一下前置通知 , 其它的基本上都是大同小异的 。
不过每个通知都有自己的应用场景 , 这个以后遇到具体的场景了再说明 。
我会在以后做一个其对应的应用合集 。
三、Aspectj注解配置AOP会了xml , 注解就真心很简单了 。
1配置xml文件
spring框架之切面编程步骤说明

文章插图
 
①配置注解扫描
②配置aspectj的自动代理机制
设置好这两个标签之后 , 就可以全部都使用注解配置AOP了
2通知类的编写
spring框架之切面编程步骤说明

文章插图
 
①确认目标对象
用注解将该类放入spring容器中 。
②确认增强的功能
@Aspect注解即表示 , 将其作为aop管理 。
③环绕通知
ProceedingJoinPoint是环绕通知中的一个参数 , 翻译过来就是可执行的连接点的意思 。
通过该参数调用proceed()方法就相当于执行原目标对象中的方法 。
④抛出通知
这个是如果出现了异常 , 就会执行该增强功能 , 也就相当于try…catch 。
当然还有其它几种通知:
  • @Before前置通知 , 相当于BeforeAdvice 。
  • @AfterReturning后置通知 , 相当于AfterReturningAdvice 。
  • @After最终final通知 , 不管是否异常 , 该通知都会执行 。
最后AOP这块的知识点有点生涩难懂 , 自己无论是学习效率还是笔记质量这块都下降了很多 , 这我也是能感受到的 。
只能说目前来说所追求的还是一个学习进度 , 保证每天都有输出 , 至于质量问题只能留待以后一点点优化了 。
谢谢你的观看 。
如果可以的话 , 麻烦帮忙点个赞 , 谢谢你 。

【spring框架之切面编程步骤说明】


推荐阅读