Spring AOP切入点表达式+语法格式+通配符+书写技巧

语法格式

1.切入点:表示要增强的连接点方法

2.切入点表达式:要进行增强的方法的描述信息

//描述方式一:执行com.itheima.dao包下的BookDao接口中的无参方法update
@Pointcut("execution(void com.itheima.dao.BookDao.update())")
//描述方法二:执行com.itheima.dao包下的BookDaoImpl实现类下的无参数方法update
@Pointcut("execution(void com.itheima.dao.impl.BookDaoImpl.update())")

3.切入点表达式的标准格式:动作关键字(访问修饰符,返回值,包名,.类/接口名.方法名(参数)异常名)

动作关键字:描述切入点的行为动作,例如execution表示执行到指定切入点

访问修饰符:public,private等等可以省略

返回值:void,User是啥写啥

包名:不必描述

类/接口名:不必描述

方法名:不必描述

参数:不必描述

异常名:方法定义中抛出指定异常,可以省略

通配符

表达式内可以使用通配符描述切入点,快速描述

1*:单个独立的任意符号,可以独立出现的,可以作为前缀或者后缀的匹配符出现(必有一个)

execution(public * com.itheima.*.UserService.find*(*))

匹配com.itheima包下的任意包中的UserService类或接口中所有的find开头的带有一个参数的方法

2.. :多个连续的任意符号,可以独立出现,常用于简化包名与参数的书写(有或者没有都ok)

execution(public User com..UserService.findById(..))

匹配com包下的任意包中的UserService类或接口中所有名称为findById的方法

3+:专用于匹配子类类型(表示子类)

 execution(**..*Service+.*(..))

书写技巧(不想写了,贴个图片,自己理解)

 Spring AOP切入点表达式+语法格式+通配符+书写技巧_第1张图片

你可能感兴趣的:(Spring,spring,java,后端)