spring运行时报java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut myMethod错误!,
解决方法:
1,版本问题。查看你的版本。我的是JDK1.7对应的jar包为aspectjweaver-1.6.6.jar及aspectjrt-1.6.6.jar,原来的版本低了
2,拼写错误。代码有错误。
/**
* <aop:config>
* <aop:pointcut
* expression=
* "execution(* cn.test.spring.aop.annonation.PersonDaoImpl.*(..))"
* id="aa()"/>
* </aop:config>
*
*/
@Component("myTransaction")
@Aspect
public class MyTransaction extends HibernateUtils{
private Transaction transaction;
@Pointcut("execution(* cn.test.spring.aop.annonation.PersonDaoImpl.*(..))")
private void bb(){}//方法签名 返回值必须是void 方法的修饰符最好是private
@Before("bb()")
public void beginTransaction(JoinPoint joinpoint){
System.out.println("beginTransaction before");
this.transaction = sessionFactory.getCurrentSession().beginTransaction();
System.out.println("transaction = " + transaction);
System.out.println("beginTransaction after");
}
@AfterReturning(value="bb()",returning="val")
public void commit(Object val){
System.out.println(val);
this.transaction.commit();
}
}