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

Classworking 工具箱: 将 aspect 放到 werk 中

 2010-03-18 00:00:00 来源:WEB开发网   
核心提示: AspectWerkz 还支持其他方法调用签名,不过需要多做一些配置工作,Classworking 工具箱: 将 aspect 放到 werk 中(3),谈到配置, 有一件事要事先说明,类型为 before (表明这个 advice 方法将在执行 pointcut 方法之前执行),第二个 adv

AspectWerkz 还支持其他方法调用签名,不过需要多做一些配置工作。谈到配置, 有一件事要事先说明。AspectWerkz 支持三种配置形式:

嵌入到源代码的 Java 5.0 annotation。

嵌入到源代码中的、Javadoc 形式的 annotation。

一个外部 XML 文件。

我自己作为一名习惯使用 XML 的人,我将在本文中使用 XML 这种方法。清单 2 显示了清单 1 中的 advice 的一个示例 XML 配置。

清单 2. XML 配置示例

<aspectwerkz> 
 <system id="AspectWerkzExample"> 
  <package name="com.sosnoski.aspectwerkz"> 
   <aspect class="TraceAspect"> 
    <pointcut name="longMethod" 
      expression="execution(long ..(..))"/> 
    <advice name="beforeMethod" type="before" 
      bind-to="longMethod"/> 
    <advice name="afterMethod" type="after" 
      bind-to="longMethod"/> 
   </aspect> 
  </package> 
 </system> 
</aspectwerkz> 

清单 2 的配置定义了一个 aspect,如在类 com.sosnoski.aspectwerkz.TraceAspect 中所实现的。对于这个 aspect,它定义了一个 pointcut,表示任何返回一个 long 值的方法的执行(表达式中需要匹配的“..”序列是通配符),并在这个 pointcut 上绑定两个单独的 advice。第一个 advice 是由 advice 类中的 beforeMethod() 实现的,类型为 before (表明这个 advice 方法将在执行 pointcut 方法之前执行)。第二个 advice 是由 afterMethod() 实现的,类型为 after(因此这个 advice 方法将在执行了 pointcut 方法之后调用)。

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

Tags:Classworking 工具箱 aspect

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