主要来源:http://howtodoinjava.com/spring/spring-aop/writing-spring-aop-aspectj-pointcut-expressions-with-examples/

1. 方法标签匹配方式

假设定义了接口EmployeeManager接口。

1)

execution(* com.howtodoinjava.EmployeeManager.*( .. ))

  以上切入点表达式可以匹配EmployeeManger接口中所有的方法。

2)

当切面方法和EmployeeManager接口在相同的包内,如果切入点表达式匹配所有所有方法,则表达式可以改成:

execution(* EmployeeManager.*( .. ))

3)匹配EmployeeManager接口的所有public方法。

execution(public * EmployeeManager.*(..))

4) 匹配EmployeeManager接口中权限为public并返回类型为EmployeeDTO的所有方法。

execution(public EmployeeDTO EmployeeManager.*(..))

5) 匹配EmployeeManager接口中权限为public并返回类型为EmployeeDTO,第一个参数为EmployeeDTO类型的所有方法。

execution(public EmployeeDTO EmployeeManager.*(EmployeeDTO, ..))

6) 匹配EmployeeManager接口中权限为public、返回类型为EmployeeDTO,参数明确定义为EmployeeDTO,Integer的所有方法。

execution(public EmployeeDTO EmployeeManager.*(EmployeeDTO, Integer))

2. 类型标签匹配模式

1)匹配在com.howtodoinjava包下所有类型中所有的方法。

within(com.howtodoinjava.*)

2)匹配在com.howtodoinjava包以及其子包下所有类型中所有的方法。

within(com.howtodoinjava..*)

3)匹配其他包一个类下的所有方法。

within(com.howtodoinjava.EmployeeManagerImpl)

4)匹配同一个包下一个类下的所有方法。

within(EmployeeManagerImpl)

5)匹配一个接口下的所有继承者的所有方法。

within(EmployeeManagerImpl+)

3. bean名字匹配模式

匹配所有以Manager结尾的beans中的所有方法。

bean(*Manager)

4. 切入点表达式拼接

在AspectJ中,切入点表达式可以通过&&,||,!等操作符进行拼接。

bean(*Manager) || bean(*DAO)

 上述这个例子表示匹配以Manager结尾或者以DAO结尾的beans中所有的方法。

Spring AOP AspectJ Pointcut 表达式例子的更多相关文章

  1. spring aop中pointcut表达式完整版

    spring aop中pointcut表达式完整版 本文主要介绍spring aop中9种切入点表达式的写法 execute within this target args @target @with ...

  2. Spring AOP AspectJ Pointcut Expressions With Examples--转

    原文地址:http://howtodoinjava.com/spring/spring-aop/writing-spring-aop-aspectj-pointcut-expressions-with ...

  3. Spring AOP 切点(pointcut)表达式

    这遍文章将介绍Spring AOP切点表达式(下称表达式)语言,首先介绍两个面向切面编程中使用到的术语. 连接点(Joint Point):广义上来讲,方法.异常处理块.字段这些程序调用过程中可以抽像 ...

  4. Spring AOP中pointcut expression表达式解析

    Pointcut 是指那些方法需要被执行"AOP",是由"Pointcut Expression"来描述的. Pointcut可以有下列方式来定义或者通过&am ...

  5. 关于 Spring AOP (AspectJ) 该知晓的一切

    关联文章: 关于Spring IOC (DI-依赖注入)你需要知道的一切 关于 Spring AOP (AspectJ) 你该知晓的一切 本篇是年后第一篇博文,由于博主用了不少时间在构思这篇博文,加上 ...

  6. Spring学习(十八)----- Spring AOP+AspectJ注解实例

    我们将向你展示如何将AspectJ注解集成到Spring AOP框架.在这个Spring AOP+ AspectJ 示例中,让您轻松实现拦截方法. 常见AspectJ的注解: @Before – 方法 ...

  7. 关于 Spring AOP (AspectJ) 你该知晓的一切

    版权声明:本文为CSDN博主「zejian_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/javazej ...

  8. Spring AOP + AspectJ annotation example

    In this tutorial, we show you how to integrate AspectJ annotation with Spring AOP framework. In simp ...

  9. Spring AOP + AspectJ Annotation Example---reference

    In this tutorial, we show you how to integrate AspectJ annotation with Spring AOP framework. In simp ...

随机推荐

  1. MySQL存储过程(转载)

    转自:http://www.blogjava.net/sxyx2008/archive/2009/11/24/303497.html 1.1         CREATE  PROCEDURE  (创 ...

  2. Cocos2d-X学习之Ref类

    先看看定义该类的头文件——CCRef.h /**************************************************************************** C ...

  3. Dll注入的几个注意事项

    1. 使用钩子SetWindowHookEx注入时,设置钩子的代码必须和钩子回调函数在注入DLL中,并且调用CallNextHookEx时第一个参数必须为钩子的句柄,否则只有一个进程响应钩子. 2.关 ...

  4. Delphi下URL汉字编码解码的两个函数

    //汉字URL编码函数function URLEncode(const S: string; const InQueryString: Boolean): string;var  Idx: Integ ...

  5. css案例学习之并集选择器

    代码 <html> <head> <title>并集选择器</title> <style type="text/css"> ...

  6. MAC 下使用ipv6、ipv4观看电视、网络电视

      换了mac book,ipv6电视却看不了了,为了看电视,只要自己动手了. 关于ipv6是啥和哪里有ipv6这里就不说了,找度娘吧. 我们观看IPv6视频直播信号有两种,一种是mms协议,另外一种 ...

  7. OpenStreetMap(OSM) features

    目录 1 Primary features 1.1 Aerialway 1.2 Aeroway 1.3 Amenity 1.3.1 Sustenance 1.3.2 Education 1.3.3 T ...

  8. cdoj 排名表 拓扑排序 排名输出 贪心

    //并不理解为什么需要反向建图,由大到小倒序确定排名.感觉正向由小到大和反向由大到小应该是一样的. 解:拓排+贪心,反向建边,先找排名靠后的(now,不知道为什么) #include<cstdi ...

  9. ubuntu14.04 qt4开发环境搭建(vnc use gnome)

    1,安装qt开发环境软件包:apt-get install qt4-dev-tools qt4-doc qt4-qtconfig qt4-demos qt4-designer qtcreator; 2 ...

  10. fs.rename可以重新写入文件

    fs.rename可以重新写入文件 用法 fs.rename(旧path,新path,callback)可以重新写入文件 引用地址 http://www.jb51.net/article/58548. ...