快速业务通道

AOP@Work: 用新的AJDT本本简化AOP开发 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
化不需要 AJDT 做任何变化,例如语义变化或附加的 API 类。有些变化,例如新的 pertypewithin 方面实例化模型,只要 求高亮显示编辑器中的语法,而且在这种情况下,在 New Aspect 向导中会出现 额外的复选框。其他变化要求的工作略多一些,您很快就会看到。还需要注意的 是,在许多情况下,AJDT 开发小组已经首先实现了最底级别的支持,留下了日后 添加更多功能的空间。

添加到 Java 5 和 AspectJ 5 中的注释已经广为人知。因为 AJDT 扩展了 Eclipse 中的 JDT,所以它自动得到了这里添加的注释支持的好处。AspectJ 5 添加了新的切入点指示器,例如根据注释是否存在而进行匹配的 @this。这些要 求在编辑器中高亮显示语法。AspectJ 5 中还添加了一种新的声明语句,用来在 类型、方法、构造函数和字段上声明注释。通过添加了两个新的横切关系 “annotates” 和“annotated by”,新的声明语句在 AJDT 中受到支持,它们 显示在 Cross References 视图和标记的上下文菜单中,就像“advises”和 “advised by”那样。

在图 8 中可以看到新的声明语句的简单示例。其中的方面包含一条 declare @method 语句和一个类型间声明。方面被选中,所以 Cross References 视图显 示方面中每件事的横切信息。declare @method 语句注释了三个方法 —— 一个 是类型间声明,另外两个直接在 Account 类中。类型间声明被显示为“declared on”(在...上声明)在 Account 类上,而且由 @method 声明“annotated by” (由...标注)。还请注意,编辑器中 @method 声明的标记和类型间声明上的双 向箭头,因为它既是横切关系的源,也是目标。

图 8. 在 AspectJ 5 中声明注释

在 AspectJ 5 中声明注释

AOP@Work: 用新的AJDT本本简化AOP开发(9)

时间:2011-09-04 IBM Matt Chapman

AspectJ 5 的另外一个新特性是对基于注释样式的方面声明的支持,这一样式 被称作“@AspectJ”样式。这样,就可以通过普通的 Java 5 编译器编译 AspectJ 应用程序,然后再由 AspectJ 编织器对其进行编织。作为例子,我们没 有使用常规代码样式语法中的 pointcut 关键字,而是定义了一个普通的 Java 方法,然后在定义切入点的方法上附加一个 Java 5 注释。图 9 显示了这样的一 个示例。可以看到,不管使用的开发样式如何,AJDT 仍然显示了应用程序的横切 结构。

图 9. @AspectJ 开发样式

@AspectJ 开发样式

从 AJDT 1.1 迁移

考虑到 AJDT 1.2 和 1.3 中的变化的范围,以及大量的内部重构,把原来采 用 AJDT 1.1 Eclipse 工作空间升级会是一个相当复杂的过程,可能并不让人惊 讶。但是 AJDT 开发团队已经通过引入迁移向导使这一过程尽可能的顺利,如图 10 所示。在升级 AJDT 版本之后,第一次运行 Eclipse 时会出现向导。在执行 升级之前,应该打开想要包含在迁移过程中的项目,还应当关闭 AspectJ 编辑器 的所有实例,因为 AspectJ 编辑器已经发生变化。(如果没有关闭编辑器的实例 ,只会得到“cannot restore editor”错误,您可以放心地忽略这一错误。)

图 10. 迁移向导

迁移向导

迁移向导的第一页将根据需要对源文件的扩展名进行转换,例如方面(以及任 何包含切入点或内部方面的类)终止于 .aj 文件。如果需要,可以将项目排除在 这个过程之外。请注意,在 AJDT 中,有一个转换向导负责稍后根据需要对文件 扩展名进行转换;在单个项目或单个源文件上右击可以找到这个向导。迁移向导 的下一页将指出,对于 Eclipse builder for AJDT 而言,哪一部分变化才是主 要的内部变化。在这里,不能接受默认设置的惟一情况就是:想使用兼容性模式 ,让项目仍然可以作为一个 AJDT 1.1 项目使用的时候。向导的第三页只针对那 些

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号