spring error at ::0 can't find referenced pointcut解决办法

绝地灬酷狼 2022-05-27 11:35 233阅读 0赞

同一段代码,每个人都有不同的错误方式。
报错提示

  1. Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userManager' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut allAddMethod
  2. Caused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut
  3. allAddMethod

第一:
百度出来网上出现此错误的通常原因:
原因定位到了aspectjweaver.jar包上,之前用的是aspectjweaver.jar包,把包更换为aspectjweaver-1.6.10.jar包之后就可以运行了。也就是jar的问题。
第二:
我遇到的问题:
在没有修改代码之前没有任何问题,通过aop已经把日志记录在数据库中了。说明我的问题不是jar出错,经过发现是我自己修改了切点,以及通知
我在修改中删除了,一个没有使用的切点。但是其切点通知还在,也就是后置通知没有删除。如下:

  1. @Component
  2. @Aspect
  3. public class AroundAspect {
  4. public String id=null;
  5. private HttpServletRequest req ;
  6. @Autowired
  7. LoginService logService;
  8. //因为我后期修改为了人脸识别登陆,我就把这里的密码登录方式的切点删除【注释】了,也就是这里的密码登陆没有使用,于是等效的我把切点就注释掉。
  9. /**
  10. * 密码登录方法的切入点
  11. */
  12. @Pointcut("execution(* com.xihua.facedistinguish.action.*.login(..))")
  13. public void loginCell(){}
  14. //然而通知还在,就找不到切点了于是出现这个错误
  15. /**
  16. * 密码登录操作(后置通知)
  17. * @param joinPoint
  18. * @param object
  19. * @throws Throwable
  20. */
  21. @AfterReturning(value = "loginCell()", argNames = "object", returning = "object") //但是这里的通知还是会找loginCell()方法(因为注释掉了,于是就找不到了,就出现异常)
  22. public void loginLog(JoinPoint joinPoint, Object object) throws Throwable {
  23. JsonResult<User> js = (JsonResult<User>) object;
  24. User admin=js.getData();
  25. if (admin==null) {
  26. return;
  27. }
  28. if (joinPoint.getArgs() == null) {// 没有参数
  29. return;
  30. }
  31. id=admin.getUser_idcard();
  32. // 获取方法名
  33. String methodName = joinPoint.getSignature().getName();
  34. // 获取操作内容
  35. String opContent = optionContent(joinPoint.getArgs(), methodName);
  36. insertLog(opContent.getBytes("gbk").toString(), id, "密码登录");
  37. }
  38. }

通过发现这个问题,总结一句话,关联需同步解释。
欢迎交流学习,谢谢。

发表评论

表情:
评论列表 (有 0 条评论,233人围观)

还没有评论,来说两句吧...

相关阅读