关于AOP的一些总结

AOP

个人理解:就是在一些系列的层中的before after around 主要就这三个弄一个统一执行的东西。

概念:是一种面向切面编程,一种编程范式。

作用:只做增强,不做改变。

核心的几个词

1. 切入点(PointCut)就是匹配连接点的式子,也是具有共性功能的方法描述。

如上图就是对于void返回值 com包下shaoge包下mapper包下BookMapper的任意以e结尾的方法中任意个参数的函数。

2. 通知(Advice)就是若干个方法的功能功能,在切入点执行,最终表现为一个方法。

如上图就是写一个计算该方法执行的时间,用结束时间减去开始时间并做打印处理。

3. 切面(Aspect)就是描述通知和切入点的对应关系。

切入点表达式格式:

动作关键字 (访问修饰符 返回值 包名.类/接口名.方法名(参数)异常名)

例如:execution(* com.shaoge.service.*Service . *(..))

*:匹配任意符号(常用)

..:匹配多个连续的任意符号(常用)

+:匹配子类类型

通知类型:

前置通知

后置通知

环绕通知(重点):

环绕通知依赖形参ProceedingJoinPoint(pjp)实现对原始方法的调用

环绕通知可以隔离原始方法的调用执行(就是可以不执行原来的方法只执行环绕内的方法)

环绕通知的返回值设置为Object

环绕通知要对原始方法调用进行异常处理

返回后通知

抛出异常后通知

使用的方法:

1. com.shaoge的包下创建aop.MyAdvice文件

2. 在文件函数中加上注解@compoent和@Aspect

3. 创建一个函数作为匹配的函数 加上注解@Pointcut("execution(void com.shaoge.mapper.BookMapper.*e(..))")

4. 开始写方法内容 并且在注解上写上哪个切入点

6. 在springConfig里要加上一个注解@EnableAspectJAutoProxy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值