本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7585523
建立时间:2006年5月29日




[AOP]AspectJ学习笔记(三)
软件技术

lhwork 发表于 2006/9/25 14:26:36

AspectJ主要有三个地方: JIONPOINT POINTCUT ADVICE下面就从POINTCUT 的指示符和有关的上下文关系,反射开始:thisJoinPoint.getSignature():thisJoi,nPoint是ASPECTJ上下文定义的的一个类:可以访问切口环境,输出的结果是连接点的方法签名,比如(String Test.getName())  pointcut uniqueLog(String s) : call(public void helloWorldUnique(String)) && args(s);  before(String s) : uniqueLog(s) { System.out.println("Passed value = " + s);}:可以访问主JAVA文件中方法的参数,4个地方的变量必须一致下面几个关于访问上下文环境的import org.aspectj.lang.*;import org.aspectj.lang.reflect.*;public aspect DVDAspect {  pointcut field() : call(private void setCount(int));  before() : field() {    Object[] args = thisJoinPoint.getArgs();    SourceLocation sl = thisJoinPoint.getSourceLocation();    System.out.println(thisJoinPoint.getKind());    Class  theClass = (Class)sl.getWithinType();    System.out.println(theClass.toString());    for(int i=0;i<args.length;++i) {      System.out.println("Argument:" + i + " is " + args[i] + " type: ");    }  }}下面是在类中属性中进行切面public aspect ArrayAspect {  pointcut array() : set(public String Array.test);  before() : array() {    System.out.println("Values Array changed");  }}


阅读全文(3246) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.281 second(s), page refreshed 144759393 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号