首页 / 软件开发 / JAVA / AOP@Work: 用新的AJDT本本简化AOP开发
AOP@Work: 用新的AJDT本本简化AOP开发2011-09-04 IBM Matt Chapman版本 1.2 和版本 1.3 为 AspectJ 提供改进的开发环境AspectJ Development Tools for Eclipse (AJDT) 最近经历了相当大的变化 ,主要是更加全面地与 Eclipse 平台集成在了一起。这一变化为 AspectJ 开发 人员提供了对 Eclipse 平台上的工具支持的更多访问。在本文中,我将介绍适用 于 Eclipse 3.0 的 AJDT 1.2,它是在今年 6 月发布的,还将介绍适用于 Eclipse 3.1 的 AJDT 1.3,它将于今年 9 月发布(现在可以得到早期的 development builds 版本)。自 AJDT 1.1 起,AJDT 已经发生了很大变化,所以这篇文章对新接触 AJDT 和熟悉早期版本的开发人员都很有用。在本文中,我不想重复指出发生了什么变 化和这些变化是如何发生的,而是打算将用新的观点来观察目前的 AJDT 功能和 技术。在整篇文章中,我都会使用一些常见的场景来探索 AJDT 的功能。所有场景都 将反映典型的 AspectJ 开发人员经历的活动;例如,第一个场景涉及如何从头开 始创建简单的 AspectJ 项目(开发人员开始熟悉 AspectJ 或者开始熟悉语言和 工具时最常做的一件事)。更深入的场景包括:向现有 Java 项目添加方面、处 理各种各样的多项目环境。我还将讨论对 AspectJ 5 中新特性的特定支持,并带 您经历从 AJDT 1.1 中进行迁移的过程。最后,在对本文进行总结时,我将简要 介绍 AJDT 开发过程本身(即用 AJDT 开发 AJDT)以及未来您可以参与的一些变 化。请注意,AJDT 1.2 是适用于 Eclipse 3.0 的最新稳定发行版,它替代了 AJDT 1.1.12,而 AJDT 1.3 则是适用于 Eclipse 3.1 的稳定发行版。AJDT 1.2 的 Milestone 版本和 development builds 版本已经可供 Eclipse 3.1 使用, 但是要实现适用于 Eclipse 3.1 的稳定发行版,还需要一个独立的版本分支,所 以出现了 AJDT 1.3。除了特别指出的之外,本文描述的每件事都适用于两个版本 分支。主要的区别在于特定于 AspectJ 5 的功能,它通常要求使用 Eclipse 3.1 。请参阅 参考资料,下载 AJDT 和 Eclipse 平台的当前版本。两者都需要下载 ,以运行本文中的示例。从头开始学 AJDT对于刚刚开始接触 AspectJ 的 Java 开发人员,编写一些简单的 AspectJ 程 序是一种好的做法。可以使用 AspectJ 编程人员指南中的示例,或者使用众多优 秀的 AspectJ 书籍或文章(请参阅 参考资料 一节)来完成这项任务。在 Eclipse 中创建新 AspectJ 项目的过程与创建 Java 项目的过程很相似:只需选 择 File > New > Project > AspectJ Project,或者使用工具栏上的 New AspectJ Project 快捷方式即可。向导的其余部分与 New Java Project 向 导基本一样。实际上,AspectJ 项目就是 Java 项目(从 Eclipse 的角度来看,它在具有 AspectJ 性质 之外还具有 Java 性质),所以任何可以在 Java 项目上使用的工 具和插件也可以在 AspectJ 项目上操作)。关键的区别是用来编译项目的 Eclipse 构建器:AspectJ 编译器被用来取代 JDT Java 编译器。AspectJ 编译 器是 JDT 编译器的扩展,所以完全能够编译 Java 代码。在下一小节中,我将介绍在简单开发场景中发挥作用的一些 AJDT 特性。New Aspect 向导由于 AspectJ 项目和 Java 项目非常相似,所以我不需要解释如何创建源文 件夹、包和类,或者如何配置项目的类路径 —— 对于多数 Eclipse Java 开发 人员而言,这些都应当是非常自然的事(请参阅 参考资料,以获得有关 Eclipse 的更多信息)。同样,编辑类的体验也与以前一样:仍然可以用 Java 编辑器, 并且您会发现一些可以极大地节约时间的特性(像内容辅助、快速修复和组织导 入)仍然有效。所以我们直接介绍下一步:创建方面。方面 是 AspectJ 的模块化单元,与 Java 语言中的类有许多共同之处。请选择 File > New > Other > AspectJ > Aspect 或使用工具栏上的 New Type 下拉列表来打开 New Aspect 向导,它与 New Class 向导非常相似,只有少数选项不同。