spring aop|切入点pointcut表达式编写方案示例

本文介绍了AspectJ切入点表达式,它是AOP编程中的关键概念,用于指定方法执行的连接点进行增强。AspectJ是一个Java语言的AOP框架,Spring框架自2.0起开始支持其切入点表达式。切入点表达式包含`execution`关键字,用于匹配方法执行,并通过不同的参数类型如基本类型、引用类型等进行精确或通配匹配。示例中展示了如何根据全限定方法名、参数类型等信息来编写切入点表达式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概念及作用

切入点表达式,也称之为AspectJ切入点表达式,指的是遵循特定语法结构的字符串,其作用是用于对符合语法格式的连接点进行增强。,它是AspectJ表达式的一部分。

关于AspectJ

AspectJ是一个基于Java语言的AOP框架,Spring框架从2.0版本之后集成了AspectJ框架中切入点表达式的部分,开始支持AspectJ切入点表达式。

表达式中的关键字

关键字说明
execution用于匹配方法执行的连接点

切入点表达式的使用示例

从上到下作用范围越来越大

  1. 全限定方法名
    访问修饰符 返回值 包名.包名.包名.类名.方法名(参数列表)
    参数列表,可以使用具体类型,也可以不设定具体类型
    参数类型说明例子
    基本类型直接写类型名称int,double
    引用类型必须写全限定类名java.lang.String , com.kehao.Student
    任意参数类型*必须有参数* com.kehao.pojo.Student.speak(*)
    任意参数类型..有无参数均可,有参数可以是任意类型* com.kehao.pojo.Student.speak(..)
    全匹配方式eg:
    public void com.kehao.pojo.Student.speak()
  2. 访问修饰符可以省略
    void com.kehao.pojo.Student.speak()
  3. 返回值可以使用*,表示任意返回值
    * com.kehao.pojo.Student.speak()
  4. 包名可以使用..表示当前包及其子包
    * com..Student.speak()
  5. 类名和方法名,都可以使用*,表示任意类,任意方法
    * com.kehao.pojo.*.*()
  6. 全匹配方式:
    * *..*.*(..)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值