AOP 的相关术语

来看下面这幅图,这是一个AOP的模型图,就是在某些方法执行前后执行一些通用的操作,并且这些操作不会影响程序本身的运行。

在这里插入图片描述
AOP涉及到的5个关键术语:

1)横切关注点,从每个方法中抽取出来的同类非核心业务

2)切面(Aspect),对横切关注点进行封装的类,每个关注点体现为一个通知方法;
通常使用@Aspect注解来定义切面。

3)通知(Advice),切面必须要完成的各个具体工作,比如日志切面需要记录接口调用前后的时长,就需要在调用接口前后记录时间,再取差值。
通知的方式有五种:

  • @Before:通知方法会在目标方法调用之前执行
  • @After:通知方法会在目标方法调用后执行
  • @AfterReturning:通知方法会在目标方法返回后执行。
  • @AfterThrowing:通知方法会在目标方法抛出异常后执行
  • @Around:把整个目标方法包裹起来,在被调用前和调用之后分别执行通知方法

4)连接点(JoinPoint),通知应用的时机。比如接口方法被调用时就是日志切面的连接点。

5)切点(Pointcut),通知功能被应用的范围,比如日志切面的应用范围是所有controller的接口。
通常使用@Pointcut注解来定义切点表达式。

在这里插入图片描述

  • modifiers-pattern?为访问权限修饰符
  • ret-type-pattern为返回类型,通常用*来表示任意返回类型
  • declaring-type-pattern?为包名
  • name-pattern为方法名,可以使用来表示所有,或者set来表示所有以set开头的类名
  • param-pattern为参数类型,多个参数可以用,隔开,各个参与也可以使用*来表示所有类型的参数,还可以使用(…)表示零个或者任意参数
  • throws-pattern?为异常类型 .表示前面的为可选项
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值