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

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

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
Caused by: java.lang.IllegalArgumentException: error at ::0 can't find referenced pointcut 
allAddMethod   

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

@Component
@Aspect
public class AroundAspect {
	  public String id=null;   
      private  HttpServletRequest req ;
      @Autowired  
	  LoginService logService; 
	//因为我后期修改为了人脸识别登陆,我就把这里的密码登录方式的切点删除【注释】了,也就是这里的密码登陆没有使用,于是等效的我把切点就注释掉。
	  /** 
	   * 密码登录方法的切入点 
	   */  
	  @Pointcut("execution(* com.xihua.facedistinguish.action.*.login(..))")  
	  public void loginCell(){}

//然而通知还在,就找不到切点了于是出现这个错误
	 /** 
	     * 密码登录操作(后置通知) 
	     * @param joinPoint 
	     * @param object 
	     * @throws Throwable 
	     */  
	    @AfterReturning(value = "loginCell()", argNames = "object", returning = "object")  //但是这里的通知还是会找loginCell()方法(因为注释掉了,于是就找不到了,就出现异常)
	    public void loginLog(JoinPoint joinPoint, Object object) throws Throwable {  
	        JsonResult<User> js = (JsonResult<User>) object;
	    	User admin=js.getData();  
	        if (admin==null) {  
	            return;  
	        }  
	        if (joinPoint.getArgs() == null) {// 没有参数  
	            return;  
	        }  
	        id=admin.getUser_idcard();  
	        // 获取方法名  
	        String methodName = joinPoint.getSignature().getName();  
	        // 获取操作内容  
	        String opContent = optionContent(joinPoint.getArgs(), methodName);  
	        insertLog(opContent.getBytes("gbk").toString(), id, "密码登录"); 
	    }  
}

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值