Classworking 工具箱: 将 aspect 放到 werk 中
2010-03-18 00:00:00 来源:WEB开发网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 方法之后调用)。
Tags:Classworking 工具箱 aspect
编辑录入:爽爽 [复制链接] [打 印]- ››AspectJ 和模仿对象的测试灵活性:用“test-only”...
- ››Classworking 工具箱: 注释(Annotation)与 ASM
- ››Classworking 工具箱: ASM classworking
- ››Classworking 工具箱: 泛型与 ASM
- ››Classworking 工具箱: 分析泛型数据结构
- ››Classworking 工具箱: 将 aspect 放到 werk 中
- ››AspectJ 和模仿对象的测试灵活性
- ››Aspectwerkz 2.0开发企业AOP快速入门
- ››Classworking工具箱:反射泛型
- ››Classworking 工具箱: 反射泛型
- ››AspectJ: 通往AOSD之路的最佳军火
更多精彩
赞助商链接