【关于Spring那些事】——Spring AOP切入点表达式

导读:本篇文章讲解 【关于Spring那些事】——Spring AOP切入点表达式,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

切入点表达式

切入点确定连接点,从而使我们能够控制通知何时运行。 Spring AOP只支持Spring bean的方法执行连接点,因此可以将切入点看作是与Spring bean上的方法执行相匹配的。

表达式语法:execution([修饰符] 返回值类型 包名.类名.方法名(参数))
execution(* com.aop.demo.Student.delete(..))

  • 访问修饰符,可不写,可以匹配任何一个访问修饰符
  • 第一个 * 表示返回值类型
  • 包名、类名、方法名都可以用 * 表示,代表任何类名、方法名
  • 参数,(…) 表示所有方法,()表示无参方法

常用的声明切入点的方式:

  1. 类中的delete方法
<aop:pointcut id="pointCut" expression="execution(* com.aop.demo.Student.delete(..))"/>
  1. 类中的delete方法
<aop:pointcut id="p1" expression="execution(* com.aop.demo.Student.delete())"/>
  1. 类中的所有无参方法
<aop:pointcut id="p2" expression="execution(* com.aop.demo.Student.*())"/>
  1. 类中的所有方法
<aop:pointcut id="p3" expression="execution(* com.aop.demo.Student.*(..))"/>
  1. demo包中的所有类中的所有方法
<aop:pointcut id="p4" expression="execution(* com.aop.demo.*.*(..))"/>
  1. 任何公共方法
<aop:pointcut id="p5" expression="execution(public * *(..))"/>
  1. 任何以set开头的方法
<aop:pointcut id="p6" expression="execution(* set*(..))"/>
  1. 任何方法
<aop:pointcut id="p7" expression="execution(* *(..))"/>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/11484.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!