Spring AOP 错误error at ::0 formal unbound in pointcut

原因:是我们在使用Before注解的时候,没有定义返回的参数,但是拦截的方法中缺需要传入一个参数,比如下面的“name”参数。如果Before注解拦截的方法需要接收参数,需要在Before中声明。

解决方法:

1. 去掉函数通知函数中的参数,

例如:

@Before("execution(* com.test.serivce..*.*(..))")
public void before(String name) {
System.out.println("前置通知:"+name);
}

改为

@Before("execution(* com.test.serivce..*.*(..))")
public void before() {
System.out.println("前置通知");
}

2 .加上args(name)  中间是before方法参数的名字

例如:

@Before("execution(* com.test.serivce..*.*(..))")
public void before(String name) {
System.out.println("前置通知:"+name);
}

改为

@Before("execution(* com.test.serivce..*.*(..))&& args(name)")
public void before(String name) {
System.out.println("前置通知:"+name);
}


参考:http://blog.csdn.net/wgw335363240/article/details/7191904


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值