码迷,mamicode.com
首页 > 编程语言 > 详细

spring AOP 理解

时间:2019-12-15 01:18:12      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:set   ati   glib   before   asp   cut   方法   代码   ram   

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 理解

标签:set   ati   glib   before   asp   cut   方法   代码   ram   

原文地址:https://www.cnblogs.com/mobaids/p/12041530.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!