spring AOP 理解

Posted mobaids

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring AOP 理解相关的知识,希望对你有一定的参考价值。

Spring Aspect Oriented Program

一、实现方式种类:

  1. 基于jdk动态代理

  2. cglib

二、两者区别:

  1. jdk动态代理需要实现 InvocationHandler

  2. cglib 无需实现接口,使用字节码技术去修改class文件使继承

三、注解使用:

  1. Before("execution(*包名*)")

  前置建议,它是在执行一个业务方法之前插入的切面

  2. After

  当方法执行成功或者出现异常的时候都会执行切面

  3. AfterReturning

  代码正常结束前返回

  4. AfterThrowing

  代码出现异常时会执行

  5. Around

  = Before + AfterReturning

  它相当于一个AOP链,如果当前AOP执行后,就让下一个AOP执行

四. execution语法介绍

  • execution(public * *(..))
  • execution(* set*(..))
  • execution(* com.xyz.service.AccountService.*(..))
  • execution(* com.xyz.service..*.*(..))
  • 上面只是举例说明了execution的语法,下面是一个标准的语法定义
execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)

 

以上是关于spring AOP 理解的主要内容,如果未能解决你的问题,请参考以下文章

如何理解Spring的AOP?

Spring之AOP理解及使用

Spring-----AOP深度理解

Spring AOP的理解和使用

5 分钟理解 Spring 中的 AOP

Spring AOP理解