AspectJ DAOEclipse
程序员文章站
2024-02-02 19:19:10
...
1:Eclipse安装aspectj
http://www.eclipse.org/ajdt/downloads/这个里面有对应版本,可以选择url更新。
2:选中已有工程 aspectj tools添加aspectj jar
3:小例子
例子很简单,就是对dao里的save操作切点,打印点相关信息。
让我奇怪的是before after around的顺序有关系,把around放在after下会直接导致编译不过去,此外around与其它的优点区别proceed(),这我感觉有点点跟filter里的chain类似。
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类似。
上一篇: 做了一个程序员技术站点
下一篇: 物化视图语法