1:Eclipse安装aspectj
[url]http://www.eclipse.org/ajdt/downloads/[/url]这个里面有对应版本,可以选择url更新。
2:选中已有工程 aspectj tools添加aspectj jar
3:小例子
例子很简单,就是对dao里的save操作切点,打印点相关信息。
让我奇怪的是before after around的顺序有关系,把around放在after下会直接导致编译不过去,此外around与其它的优点区别proceed(),这我感觉有点点跟filter里的chain类似。
[url]http://www.eclipse.org/ajdt/downloads/[/url]这个里面有对应版本,可以选择url更新。
2:选中已有工程 aspectj tools添加aspectj jar
3:小例子
public aspect LogAj {
pointcut beforeMsg() : execution(* com.jz.dao.impl.*.save*(..));
pointcut afterMsg() : execution(* com.jz.dao.impl.*.save*(..));
pointcut aroundMsg() : execution(* com.jz.dao.impl.*.save*(..));
before() : beforeMsg() {
System.out.println("before aspectj");
}
Object around() : aroundMsg() {
System.out.println("around aspectj");
Object result = proceed();
return result;
}
after() : afterMsg() {
System.out.println("after aspectj");
}
}
例子很简单,就是对dao里的save操作切点,打印点相关信息。
让我奇怪的是before after around的顺序有关系,把around放在after下会直接导致编译不过去,此外around与其它的优点区别proceed(),这我感觉有点点跟filter里的chain类似。
本文介绍如何在Eclipse中安装AspectJ并进行配置。通过一个简单示例展示了如何利用AspectJ对特定的方法执行前、后及环绕通知,并解释了这些通知之间的顺序依赖及其与过滤器链的关系。
4761

被折叠的 条评论
为什么被折叠?



