快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
。Java 编译过程由类路径 设置控制,这使得这些类型可以通过编译器用于解析。AspectJ 编译过程也使用 相同的类路径设置,该路径的配置方式与 Eclipse 中的完全相同。但是,这个设 置还不足以控制所有情况下的编译和编织步骤。这就是 AspectJ 项目中还有两个 额外设置的原因。

首先,有一个 inpath 设置。这里指定的任何内容编织器都可以使用,所以任 何应用到的方面都会被编织进来。可以通过在项目上右击并选择 Properties,然 后进入 AspectJ InPath 区域,将条目添加到项目的 inpath 中。条目可以是 JAR 文件或目录(类文件夹),例如其他项目的 bin 目录。inpath 中的内容都 被发送到项目的输出中,可能是在使用方面编织之后)。

第二个附加选项是 aspectpath。inpath 控制着将要编织的事物的列表,而 aspectpath 控制将那些内容编织到这个列表。换句话说,在 aspectpath 上指定 的方面对编织过程是可用的,就好像它们存在于项目源目录中一样。这个设置由 AspectJ Aspect Path 属性页控制,可以包含 JAR 文件或目录。

每个项目的属性页的 AspectJ 区域中还包含 output JAR 设置。这个设置使 编译器将类文件直接输出到 JAR 文件,而不是输出到项目的输出文件夹。

使用其他项目的方面

要想查看以上设置的实际效果,请考虑一个示例工作空间。假设有两个项目, 一个叫做 MyAspects,另一个叫做 WeaveMe。两者都是 AspectJ 项目,不过第二 个本身可能不包含方面。MyAspects 项目包含一些 WeaveMe 项目要求的方面。要 连接两个项目,只需在 WeaveMe 项目上右击,然后选择 Properties 并进入 AspectJ Aspect Path 区域即可。接着,在 Libraries 选项卡中按下 Add Class Folder,并选择 MyAspects 项目的 bin 目录(或者任何输出目录对应的名称) 。

按下 OK 用这个新设置构建项目,假定方面中的切入点与 WeaveMe 源代码中 的位置对应,因此将应用对应的通知。编辑器的标记和 Cross References 视图 仍会显示“advised by”关系,但是现在关系的始发端被描述为一个二进制方面 ,所以不能导航到它。这是因为一般来说,方面可以位于 Eclipse 工作空间以外 的地方(例如外部 JAR文件)。但是,至少在这个示例中,源代码仍然在工作空 间之内,只不过是在另一个项目中,所以希望 AJDT 的未来版本能够做好这个连 接,并允许导航到其他项目中的方面。

需要着重指出的是,通过 aspectpath 提供的类型在运行时也需要能够使用。 幸运的是,AJDT 使这一点变得很容易 —— 不必选择 Run > Java Application,可以使用新的启动配置 Run > AspectJ/Java Application。这 与 Java 启动配置相同,惟一区别是它自动向运行时类路径添加了 aspectpath 条目。另外,还有一个无关的区别是,AspectJ/Java 启动配置也可以定位到方面 中包含的任何主方法。

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

时间:2011-09-04 IBM Matt Chapman

编织 Java 项目

如果有一个项目包含 Java 代码,或者以源代码的形式,或者以 JAR 文件的 形式,倘若现在想在它上面应用某些方面,那么该怎么办呢?如果需要保持方面 与项目分离,那么可以把它单独作为一个 Java 项目,并创建一个 AspectJ 项目 进行编织。在这种情况下,只要在 AspectJ 项目中添加“AspectJ InPath”设置 并引用 Java 代码即可,可以使用 Add JARs 或 Add Class Folder 按钮添加设 置。

在像这样进行二进制编织的时候,没有源代码标记来显示通知发挥效果的地方 。编译器选项在这里会有帮助:在 AspectJ 项目的 AspectJ Compiler 设置的 Other 选项卡中(或者从全局选项参数设置中),选择 Output weaving info messages to problems view 选项。现在,不论

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号