乐趣区

spring-aop第6篇spring-aop-实战

基本概念

说到 spring aop 大家都知道是面向切面编程,本文就不在啰嗦的介绍什么是面向切面编程,本文重点是编码过程中如何使用spring aop,首先要理解一下几个概念。

切面(Aspect)

切面简单理解就是一个类,在这个类里面定义了通知与切点。

通知(advice)

spring aop 中的五种通知方式:

  • @Before:前置通知,在目标方法被调用之前调用通知功能
  • @After:后置通知,在目标方法执行结束后,无论执行结果如何都执行通知定义的任务
  • @After-returning:后置通知,在目标方法执行结束后,如果执行成功,则执行通知定义的任务
  • @After-throwing:异常通知,如果目标方法执行过程中抛出异常,则执行通知定义的任务
  • @Around:环绕通知,在目标方法执行前和执行后,都需要执行通知定义的任务。

切点(PointCut)

切点就是告诉程序要在执行哪些类、方法时执行我们自定义的各种通知。切点如何定义呢?我们通常是使用 Aspectj 的切点表达式语言来定义切点。所以需要了解一下 spring aop 所支持的 Aspectj 切点表达式。

退出移动版