zoukankan      html  css  js  c++  java
  • 006 切入点表达式

    一 .概述

      在上一节之中,我们看到了使用AspectJ处理AOP变得十分简单了.

      其核心有两点是需要我们重点注意的:

      (1)切入点表达式

      (2)通知增强的注解

      本节,重点说一下切入点表达式的问题.


    二 .切入点表达式

      切入点表达式重点表示的就是通知到底应该在上面方法上面生效.

      因此,切入点表达式的核心就很好理解了.

    在AspectJ之中,定义了很多的切入点表达式的情况,数量十分的多,但是我们却只需要知道少数的几个就能完成我们的日常任务.

    其中最为重要的就是 execution() : 表达式函数系列


    三 .execution表达式函数系列的切入点:

      概述: 表达的就是切入点出的函数的定义(方法的描述).

    因此 : 核心的结构如下:

      方法的返回值 全类名.方法名(方法的参数列表)

    此外还有如异常等,这个我们一般不会重点关注的就不做表述.

      通配符的概念 :

      AspectJ支持通配符的概念:

      (1) * : 表示代表任意的字符

      (2).. : 表示任意的子包和通配所有的参数列表

      (3) + : 这个我们一般不会去使用,介绍一下就可以了,通配类型或其子类.

    此外,为了更好的使用切入点表达式,还提供了逻辑运算符的概念.

      这个也是十分的简单的.

      (1)&& : 表示逻辑与.

      (2)|| : 表示逻辑或

      (3) ! : 表示逻辑非


    四 .注解切入点

      我们现在的开发之后总,最为常见的就是注解了.因此,AspectJ也支持注解形式的支持.

    语法格式: @annotation(注解的全类名)

    这个十分的好理解,不去多说什么了.


    五 总结

      虽然切入点表达式的内容很多,但是我们使用的种类却不是很多,原因就是剩下的都是进行精确匹配的.

      我们现在只需要注意两种切入点表达式就基本够用了.

      (1)函数表达式

      (2)注解表达式

  • 相关阅读:
    Python随笔之字典Dict
    Python随笔之列表List
    Python基础整理,懒得分类了,大家对付看看吧
    shell批量推送公钥脚本
    Xcode 切换target 之后打包失败
    百度导航sdk错误日志
    前端项目中去掉替换双引号
    taro3.x项目中引用taro-ui以及taro-iconfont-cli
    taro
    JS中some() every() forEach() map() filter()的区别
  • 原文地址:https://www.cnblogs.com/trekxu/p/9097774.html
Copyright © 2011-2022 走看看