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

    @PointCut切入点表达式语法格式是:execution(访问权限 返回值类型 方法全限定名(参数类型列表))

      限定符:

        *:

          1)匹配某全类名下,任意或多个方法:

             表示匹配com.zdc.aop.Calculator下以a打头的任意方法。并且返回值和两个参数都是int类型。

           execution(public int com.zdc.aop.Calculator.a*(int, int))

                  表示匹配com.zdc.aop.Calculator下的任意方法。并且返回值和两个参数都是int类型。

           execution(public int com.zdc.aop.Calculator.*(int, int))

          2)在Spring中只有public权限能拦截到,访问权限可以省略(访问权限不能写*):

              // 权限省略,表示任意类型的访问权限 ,但Spring现在只支持public权限

                execution(int com.zdc.aop.Calculator.*(int, int))

          3)匹配任意类型的返回值,可以使用 * 表示:

             execution(* com.zdc.aop.Calculator.*(int, int))

          4) 任意类型参数:

              // 表示第二个参数是任意类型

            execution(* com.zdc.aop.Calculator.*(int,*))

      ..:可以匹配多层路径,或任意多个任意类型参数:

          // 表示com和aop之间可以有任意层级的包

          execution(* com..aop.Calculator.*(int,int))

          // 表示第一个参数是int。之后可以有任意个任意类型的参数

          execution(* com.zdc.aop.Calculator.*(int,..))

      切入点表达式连接:&& 、||:

        // 表示需要同时满足两个表达式

           @Before("execution(public int com.zdc.aop.Calculator.add(int, int))"

                 + " && "

          + "execution(public * com.zdc.aop.Calculator.add(..))")

         // 表示两个条件只需要满足一个,就会被匹配到

           @Before("execution(public int com.zdc.aop.Calculator.add(int, int))"

               + " || "

               + "execution(public * com.zdc.aop.Calculator.a*(int))")

      

  • 相关阅读:
    error C2146: 语法错误 : 缺少“;”
    字符串大小写格式化
    Click Button关键字——模拟单击页面中的按钮
    Get List Items关键字——获取页面中一个下拉列表中的所有下拉框选项
    Get Title关键字——获取浏览器网页的title
    Click Link关键字——模拟单击一个链接
    Get Text关键字——用来获取文本内容
    Input Text关键字——模拟向一个输入框中输入文字内容
    Open Browser、Close Browser关键字——打开和关闭浏览器
    Go Back关键字、Go To关键字——浏览器的后退、前进操作
  • 原文地址:https://www.cnblogs.com/Life-is-Demo/p/12641442.html
Copyright © 2011-2022 走看看