zoukankan      html  css  js  c++  java
  • 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?)
  • 相关阅读:
    Django + uWSGI + Nginx 实现生产环境部署
    面试题(一)
    Python基础之路
    Tornado之实例和扩展
    Scrapy源码研究前戏
    算法之基本概念
    RedHat6.2系统安装ipvsadm+keepalived
    oracle11G 同时支持IPV4和IPV6配置
    redhat6.5 安装oracle11G
    python解析字体反爬
  • 原文地址:https://www.cnblogs.com/mobaids/p/12041530.html
Copyright © 2011-2022 走看看