25秋招不背八股(1)-快速上手Spring AOP

18 阅读1分钟

阅读前,最好先熟悉一下反射的基本概念和基本的api。

Spring AOP主要作用是实现方法拦截,对日志等行为做统一处理。当连接点方法执行时,通过切点匹配,织入切面方法。

那么我们需要知道连接点的什么信息呢?

  1. 连接点方法名,参数值,参数类型等,对象。

对应在AOP中,就是Joinpoint对象和Joinpoint对象的组成signature。

 Object getTarget();//获取切点对象
 Object[] getArgs();//获取参数值
MethodSignature signature =(MethodSignature) joinPoint.getSignature();//获取方法签名

通过signature.getMethod()获取一个Method对象。

随后可以通过反射等API,结合业务,定义通知行为来织入操作。

相关概念

  1. 连接点,就是需要aop统一拦截的方法。

  2. 切点,与连接点对应,切点就是在切面类中定义切面关注的连接点。

  3. 切面,定义切点对应的行为,也就是应该织入的方法。

  4. 通知,定义织入方法执行的时机