写了个AOP的小示例,AOP用xml配置,运行时报下列错误,逐一排查,在网上搜到的信息不多,大致为检查配置文件是否写错,检查相关jar包是否存在版本冲突,检查AOP相关语法是否写错。逐一检查之后发现确实没有任何问题。
再次仔细检查报错信息,实在没办法了,把方法名由原来的afterReturning()改为afterRet(),相应AOP配置信息中的method也做相应修改,再次运行程序,成功通过。再把afterRet()改回afterReturning(),相应AOP信息修改之后,重新运行程序,也成功了。
算是一个奇葩的偏方,如果你也遇到同样的报错,不妨试试把报错的方法名改一个名字再重试一下,也许就解决了。
Error creating bean with name 'userDao' defined in class path resource [ApplicationContext.xml]: BeanPostProcessor before instantiation of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.aop.aspectj.AspectJPointcutAdvisor#1': Cannot create inner bean '(inner bean)#293bdd36' of type [org.springframework.aop.aspectj.AspectJAfterReturningAdvice] while setting constructor argument; nested ex