📚简介:
我们写一个方法时如果每个接口都需要写一段固定的代码时,我们可以考虑使用切面(AOP)对方法进行增强,这些增强的方法称为连接点。好比我现在有个接口是用于提交数据或者对数据进行修改,这个时候如果发现数据有问题是不是应该进行排查,如果是直接打印日志的方式不是开发的同学就没办法判断为什么会产生错误数据,一般后台系统都有张表是用于记录用户操作数据的,这样我们就可以通过提交的数据进行排查为什么会产生错误数据,还有一个就是对数据进行操作产生问题追究职责的看是那个后台用户进行操作的。如果是按照之前的方式就是在对应的接口写保存日志的代码,代码就会变得重复且无意义,当保存记录添加新字段时我们又得到每一个接口上进行修改添加。
当使用切面以后我们只需要定义一个切面类对一些方法进行统一处理。切面可以通过添加execution
表达式进行对指定包下某个类某个方法进行增强。
💨切面表达式:
execution( [权限修饰符] [返回类型] [方法名称] ([参数列表]))
复制代码
如:对com.itmei.service.CsService.update()方法进行增强 表达式如下:
execution(* com.itmei.service.CsService.update(..))
复制代码
如:对com.itmei.service.CsService下的所有方法进行增强 表达式如下:
execution(* com.itmei.service.CsService.*(..))
复制代码
如:对com.itmei.service包下的所有类方法进行增强 表达式如下:
<