主要来源: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. AJAX+cURL+SimpleXMLElement处理数据

    curl_xml.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...

  2. mysql5.7慢查询开启配置

    1.问题 当然又被度娘(我冤枉)坑了噻,网友说配置文件写下面三行: log-slow-queries=D:\Program Files\mysql-5.7.11-winx64\data\low.log ...

  3. 通过实例深入理解lec和yacc

    本框架是一个lex/yacc完整的示例,包括详细的注释,用于学习lex/yacc程序基本的搭建方法,在linux/cygwin下敲入make就可以编译和执行.大部分框架已经搭好了,你只要稍加扩展就可以 ...

  4. WPF(MultiTrigger)

    原文 http://blog.csdn.net/haifengzhilian/article/details/8822098 <Window x:Class="TestResource ...

  5. android 自定义AlertDialog

    xml: alter_dialog_two <?xml version="1.0" encoding="utf-8"?> <LinearLay ...

  6. windows、linux创建子进程

    在windows下创建子进程较常用到的API就是CreateProcess,可以通过以下的方式启动一个新进程: STARTUPINFO si = {0};                 PROCES ...

  7. 普林斯顿大学算法课 Algorithm Part I Week 3 比较器 Comparators

    比较器接口(Comparator interface):用可选顺序(alternate order)进行排序 public interface Comparator<key> int co ...

  8. AndroidUI 视图动画-旋转动画效果 (RotateAnimation)

    RotateAnimation,能实现Android的视图的旋转效果,废话不多说直接上代码. 新建一个Android 项目,在activity_main.xml中添加一个按钮,然后使用Relative ...

  9. C# 连接 Mysql 中文乱码问题

    网上有很多解决乱码的方法,什么 set names utf8   .什么在插入数据前进行编码,亲自试了都没有效果,在网上寻觅了很久,终于找到一种方法,并亲试成功: 首先要保证你的数据库是UTF8字符集 ...

  10. 简单QT界面信号图形化输入输出

    右键->转到槽,选择信号 就可以输入代码 右键->转到槽,选择信号 就可以输入代码 2个文本框接受输入数字,第3个文本框输出相加结果 void Dialog::on_pushButton_ ...