WEB开发网
开发学院软件开发Java Classworking 工具箱: 将 aspect 放到 werk 中 阅读

Classworking 工具箱: 将 aspect 放到 werk 中

 2010-03-18 00:00:00 来源:WEB开发网   
核心提示: AspectWerkz 基础AspectWerkz 网站提供了大量文档和使用示例,以及关于使用 AspectWerkz 的文章的链接,Classworking 工具箱: 将 aspect 放到 werk 中(2),我不准备在这里重复这些内容,但是我将简要介绍我认为最重要的概念:pointcut、

AspectWerkz 基础

AspectWerkz 网站提供了大量文档和使用示例,以及关于使用 AspectWerkz 的文章的链接。我不准备在这里重复这些内容,但是我将简要介绍我认为最重要的概念:pointcut、aspect 和 advice。

pointcut 基本上只是一个中断应用程序执行的(由源代码定义的)“正常” 流程并做一些不同的事情的地方。AspectWerkz 支持与 Java 代码结构相关的许多类型的 pointcut,包括方法调用或者执行、字段 get/set 和异常处理器执行,以及组合(包括特定执行路径中的代码)。

用 AspectWerkz 术语来说,一个 aspect 就是一个 Java 类,它可以作为交叉关注(crosscutting concern)的目标。让一个类成为 aspect 不需要实现特殊的接口,但是需要特定的方法签名以使类作为一个 aspect 被访问。一般来说,希望 aspect 类在标准应用程序类层次结构之外,因为可能只是通过 AspectWerkz 框架使用它们,不过,对于它们所在的位置同样没有特殊要求(在运行时类路径中除外)。

advice 是 aspect 类中的一个方法,在 pointcut 处用它来做“某些不同的事件”。 advice 的默认方法签名接受一个参数,该参数提供关于中断的 pointcut 的信息。清单 1 显示了一个 aspect 类的例子,它定义了在方法调用上,将被用作前 advice 和后 advice 的两个方法。

清单 1. 一个简单的 advice 类及其 advice 方法

package com.sosnoski.aspectwerkz; 
public class TraceAspect 
{ 
  public void beforeMethod(JoinPoint join) { 
    System.out.println("Entering method"); 
  } 
   
  public void afterMethod(JoinPoint join) { 
    System.out.println("Leaving method"); 
  } 
} 

上一页  1 2 3 4 5 6 7  下一页

Tags:Classworking 工具箱 aspect

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接