小工具知识网

当前位置: 首页 > 行业知识 > Spring之AOP切入点表达式

行业知识

Spring之AOP切入点表达式

2026-10-20 23:57:43 来源:互联网转载

1.语法格式

动作关键字(访问修饰符 返回值 包名.类/接口名.方法名(参数) 异常名)/*** 动作关键字:描述切入点的行为动作,例如execution表示执行到指定切入点* 访问修饰符:public、private等,可以省略* 异常名:方法定义中抛出指定异常,可以省略*/

2.通配符

(1)*

()

单个���立的任意符号,可以独立出现,也可以作为前缀或者后缀的匹配符出现

例:匹配com.example包下的任意包中的IUser接口中所有e开头的带有一个参数的方法

()
execution(public * com.example.*.IUser.e*(*))

(2). .

多个连续的任意符号,可以独立出现,常用于简化包名与参数的书写

例:匹配com包下的任意包中的IUser接口中所有名称为eat的方法

execution(public void com..service.IUser.eat(..))

(3)+

专用于匹配子类类型

例:匹配com.example包下的任意包中的IUser接口的实现类/子接口中所有名称为eat的方法

execution(public void com.example.*.IUser+.eat(..))

3.书写技巧

注:所有代码按照标准规范开发,否则一下技巧全部失效

(1)描述切入点通常描述接口,而不描述实现类

(2)访问控制修饰符针对接口开发均采用public描述(可省略访问控制修饰符的描述)

(3)返回值类型对于增删改类使用精准类型加速匹配,对于查询类使用*通配快速描述

(4)包名书写尽量不使用. .匹配,效率过低,常用 * 做单个包描述匹配,或精准匹配

(5)接口名/类名书写名称与模块相关的采用 * 匹配,例IUserService书写为 *Service,绑定业务层接口名

(6)方法名书写以动词进行精准匹配,名词采用 *匹配

(7)参数规则较为复杂,根据业务方法灵活调整

(8)通常不使用异常作为匹配规则

上一篇:电子版文件制作从入门到精通,全攻略助你轻松高效创建!

下一篇:揭秘外围真相,风险警示与犯罪防范!