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

切入点表达式

切入点确定连接点,从而使我们能够控制通知何时运行。 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(* *(..))"/>

猜你喜欢

转载自blog.csdn.net/weixin_52986315/article/details/124307424