Spring-AOP-AOP常用术语

Spring-AOP-AOP常用术语

 

 

1.连接点:每个方法的每一个位置都是一个连接点

 

2.切入点:实际被真正增强的方法,称为切入点

 

3.通知(增强):实际增强的逻辑部分称为通知(增强)

  通知有多种类型

 

try{
    //@Before
    method.invoke(obj,args);
    //@AfterReturning
}catch (Exception e)
{
    //@AfterThrowing
}
finally {
    //@After
}

 

  • 前置通知:Before advice)表明在连接点执行之前执行的动作。@Before
  • 返回通知:After returning advice)在某个连接点完成后的通知,比如一个方法没有抛出任何异常,正常返回。@AfterReturning
  • 环绕通知:Around Advice) 环绕可以看作是包含前置通知和后置通知的一个通知,先了解,后面具体理解。@Around
  • 异常通知:After throwing advice) 在方法异常推出时候执行的通知。@AfterThrowing
  • 最终通知:After advice) finally在连接点退出时候执行的通知。不论是正常退出还是异常退出。@After

 4.切面:是动作

(1)把通知应用到切入点的过程

5.切入点表达式:在众多连接点中选择切入点

固定格式:execution(访问权限符 返回值类型 方法全类名(参数表))

通配符:

*   

    1. 匹配一个或多个字符
    2. 匹配任意一个参数
    3. 只能匹配一层路径
    4. 权限修饰不能用*,不写就是代表了任意权限

..  

    1. 匹配任意多个参数、任意类型参数
    2. 匹配任意多层路径

 

最精确:execution(public int com.orz.spring.UserService.add(int , int))

最模糊(千万别写):execution(* *.*(..))

6.切面类:封装了通知方法(在目标方法执行前后执行的方法)

7.目标类:

posted @ 2020-08-17 22:42  orz江小鱼  阅读(191)  评论(0编辑  收藏  举报