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









