aop:before
作用:
用于配置前置通知。指定增强的方法在切入点方法之前执行
属性:
method:用于指定通知类中的增强方法名称
ponitcut-ref:用于指定切入点的表达式的引用
poinitcut:用于指定切入点表达式
执行时间点:
切入点方法执行之前执行

aop:after-returning
作用:
用于配置后置通知
属性:
method:指定通知中方法的名称。
pointct:定义切入点表达式
pointcut-ref:指定切入点表达式的引用
执行时间点:
切入点方法正常执行之后。它和异常通知只能有一个执行

aop:after-throwing
作用:
用于配置异常通知
属性:
method:指定通知中方法的名称。
pointct:定义切入点表达式
pointcut-ref:指定切入点表达式的引用
执行时间点:
切入点方法执行产生异常后执行。它和后置通知只能执行一个

aop:after
作用:
用于配置最终通知
属性:
method:指定通知中方法的名称。
pointct:定义切入点表达式
pointcut-ref:指定切入点表达式的引用
执行时间点:
无论切入点方法执行时是否有异常,它都会在其后面执行。

    <!--配置AOP--><aop:config><!--配置切面 --><aop:aspect id="logAdvice" ref="logger"><!-- 配置前置通知:在切入点方法执行之前执行<aop:before method="beforePrintLog" pointcut="execution(* com.itheima.service.impl.*.*(..))" ></aop:before>--><!-- 配置后置通知:在切入点方法正常执行之后值。它和异常通知永远只能执行一个<aop:after-returning method="afterReturningPrintLog" pointcut="execution(* com.itheima.service.impl.*.*(..))"></aop:after-returning>--><!-- 配置异常通知:在切入点方法执行产生异常之后执行。它和后置通知永远只能执行一个<aop:after-throwing method="afterThrowingPrintLog" pointcut="execution(* com.itheima.service.impl.*.*(..))"></aop:after-throwing>--><!-- 配置最终通知:无论切入点方法是否正常执行它都会在其后面执行<aop:after method="afterPrintLog" pointcut="execution(* com.itheima.service.impl.*.*(..))"></aop:after>--><!-- 配置环绕通知 详细的注释请看Logger类中--><aop:around method="aroundPringLog" pointcut="execution(* com.itheima.service.impl.*.*(..))"></aop:around></aop:aspect></aop:config>

aop:pointcut:
作用:用于配置切入点表达式。就是指定对哪些类的哪些方法进行增强。
属性:
expression:用于定义切入点表达式。
id:用于给切入点表达式提供一个唯一标识

可以进一步精简

    <!--配置AOP--><aop:config><!-- 配置切入点表达式 id属性用于指定表达式的唯一标识。expression属性用于指定表达式内容此标签写在aop:aspect标签内部只能当前切面使用。它还可以写在aop:aspect外面,此时就变成了所有切面可用--><aop:pointcut id="pt1" expression="execution(* com.itheima.service.impl.*.*(..))"></aop:pointcut><!--配置切面 --><aop:aspect id="logAdvice" ref="logger"><!-- 配置前置通知:在切入点方法执行之前执行<aop:before method="beforePrintLog" pointcut-ref="pt1" ></aop:before>--><!-- 配置后置通知:在切入点方法正常执行之后值。它和异常通知永远只能执行一个<aop:after-returning method="afterReturningPrintLog" pointcut-ref="pt1"></aop:after-returning>--><!-- 配置异常通知:在切入点方法执行产生异常之后执行。它和后置通知永远只能执行一个<aop:after-throwing method="afterThrowingPrintLog" pointcut-ref="pt1"></aop:after-throwing>--><!-- 配置最终通知:无论切入点方法是否正常执行它都会在其后面执行<aop:after method="afterPrintLog" pointcut-ref="pt1"></aop:after>--><!-- 配置环绕通知 详细的注释请看Logger类中--><aop:around method="aroundPringLog" pointcut-ref="pt1"></aop:around></aop:aspect></aop:config>

Spring AOP切入点相关推荐

  1. Spring AOP切入点@Pointcut -- execution表达式

    Spring AOP 切入点@Pointcut – execution表达式 表达式示例 execution(* com.sample.service.impl..*.*(..)) 详述: execu ...

  2. Spring AOP 切入点表达式

    切入点指示符用来指示切入点表达式目的,,在Spring AOP中目前只有执行方法这一个连接点,Spring AOP支持的AspectJ切入点指示符如下: execution:用于匹配方法执行的连接点: ...

  3. spring aop切入点汇总

    需引入jar包<dependency><groupId>org.springframework.boot</groupId><artifactId>sp ...

  4. Spring AOP切入点与通知XML类型

    AOP: AOP(Aspect Oriented Programing)面向切面编程,一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构 AOP弥补了OOP的不足,基于OOP基础之上进行横向开发 ...

  5. Spring AOP切入点表达式

    AOP(Aspect Oriented Programming):是面向切面编程的技术.AOP基于IOC基础,是对OOP的有益补充. AOP术语名词 Joinpoint:连接点是指所有可能织入通知的方 ...

  6. Spring AOP是什么?你都拿它做什么?

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 转自:我叫刘半仙, https://my.oschina.net/liughDevelop/blo ...

  7. Spring AOP示例教程 - Aspect,Advice,Pointcut,JoinPoint,Annotations,XML Configuration

    Spring AOP示例教程 - Aspect,Advice,Pointcut,JoinPoint,Annotations,XML Configuration Spring Framework是基于两 ...

  8. Spring AOP中的静态代理和动态代理的原理和实践

    对于最近博主最近写博客的兴致大发,我也在思考:为什么而写博客?在互联网时代,无论你是牛人大咖,还是小白菜鸟,都有发表自己看法的权利.无论你是对的还是错的,都会在这个平台上找到答案.所以,我会尽可能去写 ...

  9. [转载]Spring AOP是什么?你都拿它做什么?

    原文出处:我叫刘半仙 壳叔搞笑时间 正文 为什么会有面向切面编程(AOP)?我们知道Java是一个面向对象(OOP)的语言,但它有一些弊端,比如当我们需要为多个不具有继承关系的对象引入一个公共行为,例 ...

最新文章

  1. Linux01-Linux高级特殊权限SUID详解25
  2. linux调用qt生成静态库文件下载,Centos7下编译openssl静态库与QT引用
  3. java坦克大战源码下载
  4. Java中Object转Map类型,Map转Object类型
  5. MonkeyScript使用教程
  6. GIT在WINDOWS/LINUX下载的源码,回车换行有差异
  7. Flash MX游戏制作常用代码解析
  8. pdf密码强制解除软件下载 | 专业PDF解密软件 | PDF Decrypter Pro
  9. C#学习(二十八)——ManualResetEvent的理解和使用
  10. Shader+UGUI仿制Unity拾色器
  11. Win10安装Git并配置
  12. 【小技巧】一招教你下载b站视频到本地
  13. 计算机word画铁路,利用WORD画地图
  14. 这才是程序员该用的搜索引擎?
  15. git switch 与 git checkout的不同
  16. 一分钟之内搭建自己的直播服务器?
  17. linux上数据库账号被锁定,ORA-28000账户被锁和解锁
  18. c语言跨平台的实用技巧
  19. 用文件的 sha1值判断文件是否重复(delphi语言)
  20. 评测3款最流行的安卓epub阅读器

热门文章

  1. SharePoint 站点出现Http 503 错误
  2. the dhc driver package_DHC智商低?不,它用1k阅读,444个好看证明了自己
  3. ‘cross-env‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  4. centos 8+VMware下载安装教程(1)
  5. Python面向对象编程案例:封装数据库增删改查操作
  6. 使用Python内置集合对象和内置函数filter()过滤无效书评
  7. Python花式编程案例锦集(3)
  8. (c语言)输入一个数,将该数按原规律插入到有序数组中
  9. jsp oracle连接池,利用Oracle自带的连接池类的一例
  10. 力扣209,长度最小的子数组(滑动窗口,JavaScript)