【SSM直击大厂】第十章:Spring AOP面向切面编程

快速入门 ① 导入 AOP 相关坐标

② 创…

快速入门

① 导入 AOP 相关坐标

② 创建目标接口和目标类(内部有切点)

③ 创建切面类(内部有增强方法)

④ 在 applicationContext.xml 中配置目标类和切面类的bean

⑤ 在 applicationContext.xml 中配置织入关系

导入aop命名空间

配置切点表达式和前置增强的织入关系

⑥ 测试代码

运行截图

XML 配置 AOP 详解

切点表达式(excution)写法

  • 语法:execution([修饰符] 返回值类型 包名.类名.方法名(参数))
  • 访问修饰符可以省略:execution(public void com.project.aop.Target.method())
  • 返回值类型、包名、类名、方法名可以使用星号* 代表任意

    execution(void com.project.aop.Target.*(..))

    execution(* com.project.aop.*.*(..))

    execution(* com.project.aop..*.*(..))

  • 包名与类名之间一个点 . 代表当前包下的类,两个点 .. 表示当前包及其子包下的类execution(* *..*.*(..))

  • 参数列表可以使用两个点 .. 表示任意个数,任意类型的参数列表

通知(advice)类型

  • 语法<aop:通知类型 method=“切面类中方法名” pointcut=“切点表达式”/>
    名称 标签 解释
    前置通知

    <aop:before>

    指定增强的方法在切入点方法之前执行

    后置通知

    <aop:after-returning>

    指定增强的方法在切入点方法之后执行

    环绕通知

    <aop:around>

    指定增强的方法在切入点方法之前和之后都

    执行一次。

    异常抛出通知

    <aop:throwing>

    指定增强的方法在出现异常时执行

    最终通知

    <aop:after>

    无论增强方式执行是否有异常都会执行。

  • 切点表达式的抽取: 当多个增强的切点表达式相同时,可以将切点表达式进行抽取,在增强中使用 pointcut-ref 属性代替 pointcut 属性来引用抽 取后的切点表达式。

本文来自网络,不代表软粉网立场,转载请注明出处:https://www.rfff.net/p/8271.html

作者: HUI

发表评论

您的电子邮箱地址不会被公开。

返回顶部