您的位置:首页 > 编程语言 > Java开发

Spring AOP切面实现:异常处理

2016-07-12 19:57 561 查看
1、java.lang.IllegalArgumentException: warning no match for this type name:com.learn.spring

切入点表达式错误:

原:execution(public * com.learn.spring.*(*))

修改后:execution(public * com.learn.spring.*.*(*))

不添加后边一个*,就可能报上面的异常。

2、java.lang.IllegalArgumentException: error at ::0 formal unbound in pointcut

切入点参数配置有问题,没配置或配错

原:

@Pointcut(value="args(int)")
public void argsTest(int p)
{
}

@After(value="argsTest(p)",argNames="p")
public void afterTest(JoinPoint jp,int p)
{
System.out.println(p);
System.out.println("args");
}


修改后:

@Pointcut(value="args(p)")
public void argsTest(int p)
{
}

@After(value="argsTest(p)",argNames="p")
public void afterTest(JoinPoint jp,int p)
{
System.out.println(p);
System.out.println("args");
}
带参数时args表达式的添写方法argsTest()中的参数名,本例中为p。不填写参数类型。

3、各通知类型执行顺序

同一个类: Around的前通知-->Before通知-->Around的后通知-->After通知-->AfterReturn通知(或AfterThrowing通知)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  AOP切面