用AspectJ构造方面库
2010-03-18 00:00:00 来源:WEB开发网核心提示: 图 1 AJDT提供的Wizard利用图 1中所示的向导,我们建立一个AspectJ Project来存放我们的方面库,用AspectJ构造方面库(4),我们将这个工程命名为sample.aspects.library,随后,在AspectJ中,我们可以将这种形式的Jar交给用户,我们可以利用A
图 1 AJDT提供的Wizard
利用图 1中所示的向导,我们建立一个AspectJ Project来存放我们的方面库。我们将这个工程命名为sample.aspects.library。随后,我们可以利用AJDT提供的工具按钮建立一个新的Aspect, 用到的工具栏按钮如图 2所示。
图 2 使用工具栏按钮建立一个新的Aspect
通过AJDT提供的向导,我们建立了如下的Aspect:
清单 4 抽象方面AbstractTrace
package sample.aspects.library;
public abstract aspect AbstractTrace {
public abstract pointcut TraceScope();
Object around():TraceScope(){
Object sig = thisJoinPoint.getSignature();
System.out.println("Enter "+sig);
Object res = proceed();
System.out.println("Exit "+sig);
return res;
}
}
清单 4中建立了一个名为AbstractTrace的抽象方面,它包含了一个pointcut和一个advice。我们看到,名为TraceScope的 pointcut也被标明是抽象的。根据AspectJ的规范,一个抽象的方面是不会起作用的。抽象方面存在的唯一目的是为了被用户继承。接下来,我们将整个工程导出成为一个.jar文件。在AspectJ中,我们可以将这种形式的Jar交给用户,它们随后就可以利用继承来使用方面库提供的功能了。
更多精彩
赞助商链接