切入点表达式
切入点确定连接点,从而使我们能够控制通知何时运行。 Spring AOP只支持Spring bean的方法执行连接点,因此可以将切入点看作是与Spring bean上的方法执行相匹配的。
表达式语法:execution([修饰符] 返回值类型 包名.类名.方法名(参数))
execution(* com.aop.demo.Student.delete(..))
- 访问修饰符,可不写,可以匹配任何一个访问修饰符
- 第一个 * 表示返回值类型
- 包名、类名、方法名都可以用 * 表示,代表任何类名、方法名
- 参数,(…) 表示所有方法,()表示无参方法
常用的声明切入点的方式:
- 类中的delete方法
<aop:pointcut id="pointCut" expression="execution(* com.aop.demo.Student.delete(..))"/>
- 类中的delete方法
<aop:pointcut id="p1" expression="execution(* com.aop.demo.Student.delete())"/>
- 类中的所有无参方法
<aop:pointcut id="p2" expression="execution(* com.aop.demo.Student.*())"/>
- 类中的所有方法
<aop:pointcut id="p3" expression="execution(* com.aop.demo.Student.*(..))"/>
- demo包中的所有类中的所有方法
<aop:pointcut id="p4" expression="execution(* com.aop.demo.*.*(..))"/>
- 任何公共方法
<aop:pointcut id="p5" expression="execution(public * *(..))"/>
- 任何以set开头的方法
<aop:pointcut id="p6" expression="execution(* set*(..))"/>
- 任何方法
<aop:pointcut id="p7" expression="execution(* *(..))"/>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/11484.html