• 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?)
  • 相关阅读:
    继承性03
    继承性
    Arrays与Math类
    Static关键字
    random模块,time模块,os模块,sys模块
    re模块
    冒泡排序、递归、二分查找
    内置函数
    生成器和生成器表达式
    迭代器
  • 原文地址:https://www.cnblogs.com/mobaids/p/12041530.html
Copyright © 2020-2023  润新知