Annotation概述
首先让我们给出这两项技术的一个概述。Annotation是JDK5.0的新功能,它在JSR-175规范中有具体定义。它们答应您以安全的方法定义元数据并应用到类,方法,构造程序,字段或参数中。对于你们中熟悉XDoclet的人来说,Annotation将非常直观,您可以用来声明标签以产生代码。两者的主要不同是Annotation是Java语言的一部分而XDoclet标签可能会打错并且难以创建。我喜欢用例子来说明,所以让我们展示一个简单的例子。
要定义一个Annotation,您所要做的就是声明一个非凡类型的Java接口。
清单1:Orange.java
package org.jboss.collors;
public @interface Orange{}
定义了这个接口,您就可以用来提供更多的描述给您的Java元素。
清单2:Foo.java
package org.jboss.examples;
public class Foo
{
@Orange void someMethod();
@Orange private int someField;
}
那么我们可以用Annotation来干什么呢?一些人想用Annotation来产生代码并替代XDoclet,其他人,象J2EE和EJB3.0专家组,将它视为部署描述符的替代。本文谈论在AOP中如何使用Annotation
AOP概述
有许多的文章和书籍解释AOP到底是什么,例如Graham O'Regan的ONJava文章“IntrodUCtion to ASPect-Oriented Programming."我将在本文给出一个快速的概览,但我鼓励您在线做更多的研究。
假设您要添加代码到一个应用程序去测试调用一个特定的java方法所需的总的时间。该代码可能看起来如下:
清单3: