AspectJ

1:Eclipse安装aspectj
http://www.eclipse.org/ajdt/downloads/这个里面有对应版本,可以选择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类似。

你可能感兴趣的:(DAO,eclipse)