/**
* 切入点表达式:
* 语法:
* execution(方法全部签名)
* eg:execution(public int com.pan.impl.MathCalculator.*(int, int))
* 意思:MathCalculator的所有方法,而且返回值必须是int,访问权限必须public的这些,参数列表必须是两个整数
*
* eg:execution(public * com.pan.impl.*.*(int,..))
* 意思:任意返回值,任意类的任意方法,但是参数表必第一个参数的类型是int,以后参数类型不限,个数不限
* 可以引入通配符:
* 1)、*:使用位置:可以用在包名、类名、方法名上、返回值
* 2)、..:使用位置:参数位置
* 3)、如果访问权限控制想要匹配多个,直接不写就行。但是必不会支持所有的权限控制,只支持public
*
* 表达式
* 1)、最清楚的:
* execution(public int com.atguigu.impl.MathCalculator.add(int, int))
* 2)、最模糊的
* execution(* *.*(..))
* 3)、好玩的
* 所有以add开头的方法
* execution(public int com.atguigu.impl.MathCalculator.add*(int, int))
*/
Spring中aop切点表达式
最新推荐文章于 2025-06-12 17:12:54 发布
本文详细解析了Spring AOP中的切点表达式语法,包括`execution`方法签名的使用,如指定访问权限、返回类型、类路径、方法名及参数。通过实例展示了如何匹配特定方法,如`execution(public int com.pan.impl.MathCalculator.*(int, int))`,以及使用通配符`*`和`..`进行模糊匹配的方法。此外,还探讨了从最具体到最模糊的切点表达式示例。"
116526472,10996334,二叉树最大距离计算,"['二叉树', '算法', '数据结构']
@Before(value="execution(*
com.pan.impl.*.*(int,..))")
public void logStart(){
System.out.println("方法开始...");
}

243

被折叠的 条评论
为什么被折叠?



