当前位置: 代码迷 >> J2EE >> spring中用注解方式实现AOP,该如何解决
  详细解决方案

spring中用注解方式实现AOP,该如何解决

热度:211   发布时间:2016-04-22 02:44:30.0
spring中用注解方式实现AOP
我在 xml中配置是可以的
然后我在源文件里配置片段如下
[code=Java][/code]@Pointcut("execution(* com.gameart.logic.Logic.*(..)) and args(params)")
public void logic(){}

@Before("logic()")
public void beforeLogic(Object... params){
debug.debug("before logic..."+params[0]);
}
@AfterReturning("logic()")
public void afterLogic(Object... params){
debug.debug("after logic..."+params[0]);
}
出现错误是Caused by: java.lang.IllegalArgumentException: error at ::0 formal unbound in pointcut 
如果我把@poingcut及logic这个方法去掉,然后再@before和@after方法里都写上execution(。。。)是可以执行的,就是想用pointcut就出错了,这是为啥呢
以下是正确的,就是不能用pointcut
[code=Java][/code]@Before("execution(* com.gameart.logic.Logic.*(..)) and args(params)")
public void beforeLogic(Object... params){
debug.debug("before logic..."+params[0]);
}
@AfterReturning("execution(* com.gameart.logic.Logic.*(..)) and args(params)")
public void afterLogic(Object... params){
debug.debug("after logic..."+params[0]);
}



------解决方案--------------------
学习了!!!
  相关解决方案