Spring AOP AspectJ Pointcut 表达式例子
主要来源: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(publicEmployeeDTO 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 表达式例子的更多相关文章
- spring aop中pointcut表达式完整版
spring aop中pointcut表达式完整版 本文主要介绍spring aop中9种切入点表达式的写法 execute within this target args @target @with ...
- Spring AOP AspectJ Pointcut Expressions With Examples--转
原文地址:http://howtodoinjava.com/spring/spring-aop/writing-spring-aop-aspectj-pointcut-expressions-with ...
- Spring AOP 切点(pointcut)表达式
这遍文章将介绍Spring AOP切点表达式(下称表达式)语言,首先介绍两个面向切面编程中使用到的术语. 连接点(Joint Point):广义上来讲,方法.异常处理块.字段这些程序调用过程中可以抽像 ...
- Spring AOP中pointcut expression表达式解析
Pointcut 是指那些方法需要被执行"AOP",是由"Pointcut Expression"来描述的. Pointcut可以有下列方式来定义或者通过&am ...
- 关于 Spring AOP (AspectJ) 该知晓的一切
关联文章: 关于Spring IOC (DI-依赖注入)你需要知道的一切 关于 Spring AOP (AspectJ) 你该知晓的一切 本篇是年后第一篇博文,由于博主用了不少时间在构思这篇博文,加上 ...
- Spring学习(十八)----- Spring AOP+AspectJ注解实例
我们将向你展示如何将AspectJ注解集成到Spring AOP框架.在这个Spring AOP+ AspectJ 示例中,让您轻松实现拦截方法. 常见AspectJ的注解: @Before – 方法 ...
- 关于 Spring AOP (AspectJ) 你该知晓的一切
版权声明:本文为CSDN博主「zejian_」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/javazej ...
- Spring AOP + AspectJ annotation example
In this tutorial, we show you how to integrate AspectJ annotation with Spring AOP framework. In simp ...
- Spring AOP + AspectJ Annotation Example---reference
In this tutorial, we show you how to integrate AspectJ annotation with Spring AOP framework. In simp ...
随机推荐
- AJAX+cURL+SimpleXMLElement处理数据
curl_xml.html: <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- mysql5.7慢查询开启配置
1.问题 当然又被度娘(我冤枉)坑了噻,网友说配置文件写下面三行: log-slow-queries=D:\Program Files\mysql-5.7.11-winx64\data\low.log ...
- 通过实例深入理解lec和yacc
本框架是一个lex/yacc完整的示例,包括详细的注释,用于学习lex/yacc程序基本的搭建方法,在linux/cygwin下敲入make就可以编译和执行.大部分框架已经搭好了,你只要稍加扩展就可以 ...
- WPF(MultiTrigger)
原文 http://blog.csdn.net/haifengzhilian/article/details/8822098 <Window x:Class="TestResource ...
- android 自定义AlertDialog
xml: alter_dialog_two <?xml version="1.0" encoding="utf-8"?> <LinearLay ...
- windows、linux创建子进程
在windows下创建子进程较常用到的API就是CreateProcess,可以通过以下的方式启动一个新进程: STARTUPINFO si = {0}; PROCES ...
- 普林斯顿大学算法课 Algorithm Part I Week 3 比较器 Comparators
比较器接口(Comparator interface):用可选顺序(alternate order)进行排序 public interface Comparator<key> int co ...
- AndroidUI 视图动画-旋转动画效果 (RotateAnimation)
RotateAnimation,能实现Android的视图的旋转效果,废话不多说直接上代码. 新建一个Android 项目,在activity_main.xml中添加一个按钮,然后使用Relative ...
- C# 连接 Mysql 中文乱码问题
网上有很多解决乱码的方法,什么 set names utf8 .什么在插入数据前进行编码,亲自试了都没有效果,在网上寻觅了很久,终于找到一种方法,并亲试成功: 首先要保证你的数据库是UTF8字符集 ...
- 简单QT界面信号图形化输入输出
右键->转到槽,选择信号 就可以输入代码 右键->转到槽,选择信号 就可以输入代码 2个文本框接受输入数字,第3个文本框输出相加结果 void Dialog::on_pushButton_ ...