最爱Java
书山有路勤为径,学海无涯苦作舟
《AspectJ Cookbook》读书笔记六: 捕获通知上的连接点
一. 捕获何时执行通知
使用adviceexecution()切入点。adviceexecution()切入点的语法如下:
pointcut <pointcut name>() : adviceexecution();
package
com.aspectj;
public
aspect AdviceExecutionRecipe
{
/**/
/*
Specifies calling advice whenever advice is executed
*/
pointcut adviceExecutionPointcut() : adviceexecution();
//
Advice declaration
before() : adviceExecutionPointcut()
{
System.out.println(
"
------------------- Aspect Advice Logic --------------------
"
);
System.out.println(
"
In the advice picked by ExecutionRecipe
"
);
System.out.println(
"
Signature:
"
+
thisJoinPoint.getStaticPart().getSignature());
System.out.println(
"
Source Line:
"
+
thisJoinPoint.getStaticPart().getSourceLocation());
System.out.println(
"
------------------------------------------------------------
"
);
}
}
二. 排出作为通知执行结果的连接点
三. 在发出通知时展示原始连接点
添加JoinPoint标识符到切入点定义中。
package
com.aspectj;
import
org.aspectj.lang.JoinPoint;
public
aspect AdviceExecutionRecipe
{
/**/
/*
Specifies calling advice whenever advice is executed
*/
pointcut adviceExecutionPointcut(JoinPoint originalJoinPoint) : adviceexecution()
&&
args(originalJoinPoint)
&&
!
within(AdviceExecutionRecipe);
//
Advice declaration
before(JoinPoint originalJoinPoint) : adviceExecutionPointcut(originalJoinPoint)
{
System.out.println(
"
------------------- Aspect Advice Logic --------------------
"
);
System.out.println(
"
In the advice picked by AdviceExecutionRecipe
"
);
System.out.println(
"
Signature:
"
+
thisJoinPoint.getStaticPart().getSignature());
System.out.println(
"
Source Line:
"
+
thisJoinPoint.getStaticPart().getSourceLocation());
System.out.println(
"
Advised Advice's Join Point Signature:
"
+
originalJoinPoint.getSignature());
System.out.println(
"
------------------------------------------------------------
"
);
}
}
posted on 2008-08-29 16:09
Brian
阅读(369)
评论(0)
编辑
收藏
所属分类:
《AspectJ Cookbook》读书笔记
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
《AspectJ Cookbook中文版》的附带示例下载
《AspectJ Cookbook》读书笔记六: 捕获通知上的连接点
《AspectJ Cookbook》读书笔记二十二: 应用企业级方面
《AspectJ Cookbook》读书笔记二十一: 应用应用程序级方面
《AspectJ Cookbook》读书笔记二十: 应用类和组件级方面
《AspectJ Cookbook》读书笔记十九: 实现行为型面向对象设计模式
《AspectJ Cookbook》读书笔记十八: 实现结构型面向对象设计模式
《AspectJ Cookbook》读书笔记十七: 实现创建型面向对象设计模式
《AspectJ Cookbook》读书笔记十六: 增强类和编译器
《AspectJ Cookbook》读书笔记十五: 定义方面的关系
公告
导航
BlogJava
首页
新随笔
联系
聚合
管理
<
2008年8月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
统计
随笔 - 52
文章 - 0
评论 - 34
引用 - 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(4)
给我留言
查看公开留言
查看私人留言
随笔分类
《AspectJ Cookbook》读书笔记(24)
(rss)
EXTJS(1)
(rss)
Jakarta Commons笔记(3)
(rss)
JScript(11)
(rss)
Struts2(4)
(rss)
数据结构与算法(2)
(rss)
自编小工具(1)
(rss)
随笔档案
2010年11月 (2)
2010年10月 (2)
2009年10月 (13)
2009年1月 (3)
2008年12月 (1)
2008年8月 (18)
2008年7月 (2)
2008年6月 (4)
收藏夹
Java中的字符集编码入门(6)
(rss)
搜索
最新评论
1. re: Struts2学习笔记——输入校验(二)
ValidatorType.FIELD是什么意思呢?
--caipc
2. re: ExtJs----弹出窗口
dsfsdfsdfsdf
--dgd
3. re: javascript面向对象技术基础(二)
@zx
什么意思?
--cxs
4. re: javascript面向对象技术基础(二)
rtwtwatwatst
--zx
5. re: 《AspectJ Cookbook中文版》的附带示例下载[未登录]
谢谢
--jacky
阅读排行榜
1. ExtJs----弹出窗口(5571)
2. ExtJs----Grid笔记(4760)
3. ExtJs----拖放(3104)
4. ExtJs----Ext支持的控件(2954)
5. ExtJs----布局(2817)
评论排行榜
1. 《AspectJ Cookbook中文版》的附带示例下载(12)
2. 插入排序思路与泛型版本的实现(4)
3. 归并排序思路与泛型版本的实现(3)
4. 自编的"个人求职管理"小工具(2)
5. 《AspectJ Cookbook》读书笔记四: 捕获方法上的连接点(2)