中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > Java > 综合文章
Pointcut的学习(一)
作者:未知 时间:2005-07-27 22:47 出处:CSDN 责编:chinaitpower
              摘要:Pointcut的学习(一)

Pointcut: 在程序中捕捉或者标识连接点(joint point)的,捕捉到连接点后,可以在连接点执行的前面或者后面设置一些规则。

AspectJ中,Pointcut可以是匿名的也可以是命名的。匿名的pointcut附着在使用它们的地方,如一个Advice或者另一个pointcut的定义中。

如:

       before():execution(* *.*(..)){

}

红字部分就是一个匿名的pointcut

      

       public pointcut logNew():execution(*.new())&& !within(Log);

       一个名字为logNewpointcut.

Pointcut由几个部分组成:访问限制 pointcut关键字 名称(): 类型关键字 信号(signature);

       如上面的命名pointcutpublic是一个访问限制;pointcut是一个关键字,表明这是一个pointcutlogNew()是一个名称(pointcut)的名称;executionpointcut的类型;(*.new())&& !within(Log);是一个signature,跟类型关键字联合起来,说明这是一个捕捉除了在Log方面的其它类的构造函数的执行的一个pointcut

 

通配符与Pointcut操作符:

AspectJ支持三种通配符

       *     任意长度的字符

       Account* 表示用Account开头的字符串

       ..     任意长度的字符,或任意层

       account..* 任意包account的子包或者类型。

       +     一个给定的类型的任意子类或者子接口。

       Account+ 任意Account的子类或者子接口。

 

AspectJ支持一元操作符“!”和二元操作符“&&”、“||”。

!,用来将某些特定的类型pointcut排除在捕捉的连接点之外;

&&,捕捉的连接点必须满足两个pointcut

||,捕捉的连接点只要满足两个pointcut之一即可。


关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有