快速业务通道

AOP@Work: 使用AspectJ 5检验库方面 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
入点

pointcut 表示其他一些切入点

template 表示存在允许子方面或外部客户机实现某些配 置的模板算法

config 表示有一些数据驱动的配置

generic 表示泛型类型 参数

convention 表示编码规范

! 表示经过错误声明检验

简要描述

查看源代码时,读者会看到相应的注解:

// CODE aspect opt dev topic [specification..]: description

运行 Eclipse 的读者可将 Java 编译器任务标记器设置为选择 CODE 注解, 以快速查找可用库方面。Grep 可在不使用 Eclipse 的情况下实现类似功能。

在编写这些方面时,大多以示例特殊语言特性为目的。AspectJ 小组预测将 可通过多种途径获得这些库 —— 直接由我们提供,或由 AspectJ 社区内的独 立开发人员提供。您可以访问 AspectJ 主页,寻找最新的库代码,若有任何问 题,也可 直接与我联系。希望您编码愉快,部署愉快!

AOP@Work: 使用AspectJ 5检验库方面(17)

时间:2011-09-07 IBM Wes Isberg

表 8. 库方面一览

库方面
CacheMethodResult opt pro caching generic pointcut! 缓存方法结果,按上下文实现键
CacheToString opt pro caching {pointcut} 缓存 toString,手动清除
CachedItem opt pro caching generic pointcut 缓存需手动清除的 Result 生成器
Const opt dev invariants annotation const 方法、字段和类的错误
EqualsBoilerplate opt pro lang within equals() 空值样本代码
GetterSetter opt dev invariants within convention! 若在 getter-setter 之外执行 get-set 操作则出错
IdempotentMethod opt dev invariants {pointcut} convention! {annotation} 执行及实现幂等方法
IdempotentMethods opt dev invariants {pointcut} convention! 幂等方法(使用注释)
InstanceFieldNaming opt dev invariants within 要求实例字段名以 “f” 开头
NoCallsIntoTestFromOutside opt dev invariants within convention 若非测试代码对测试代码引用则报错
NoNullParameters opt pro invariants within 遇空公共参数抛出异常
NoSystemOut opt dev invariants {within} 若使用 System.[out|err] 则报错
ObserveThrown opt pro errors pointcut template 将所抛出的不带上下文异常记入日志,但会消除重复项
ObserveThrownContext opt pro errors {pointcut} 将有 JoinPoint 上下文的异常记入日志
ParallelMethodImpl nec pro concurrent annotation convention! {config} 方法中的并行调用
RethrowThreadDeath opt pro invariants 从不捕获 ThreadDeath
RethrowVMError opt pro invariants 从不捕获 VirtualMachineError+
SpawnLogging opt pro concurrent within 为提高性能而产生空日志记录调用
SpawnMutatedLogging opt pro concurrent within 将日志记录重定向到另外一个线程 —— 如何为非空调用而延迟?
SpawnTrueVoids opt pro concurrent pointcut 产生没有副作用的空方法
SubjectObserver req pro patterns generic pointcut template 主体-观察者协议
SystemStreamsToLog opt pro logging within template 将 System.[out|err] 重定向到日志记录程序
ThrownObserver opt pro errors pointcut template 超类,将所抛出的异常记入日志,避免出现重复
TimedCachedItem opt pro caching generic pointcut annotation 带有生存期注释的 CachedItem
TrackedMethods opt pro invariants template pointcut 使用 FSM StateTracker 跟踪方法调用
TrackedNames opt pro invariants pointcut! config template 使用可插拔跟踪程序按名称执行 FSM
TrimInputStreamRead opt pro io within 将输入流读取调整为可用
UtilityClassEnforced opt dev invariants annotation 若可构造实用工具类则报错
Versioning opt pro patterns tag IVersioned 类的版本计数器

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号