我在尝试执行Spring AOP @After建议时遇到异常:


  线程“主”中的异常org.springframework.beans.factory.BeanCreationException:创建文件[C:\ Users \ sonue \ Documents \ learn \ springaop \ target \ classes \ com \ sonu \ springaop文件中定义的名称为'employeeDAO'的bean时出错\ dao \ EmployeeDAO.class]:Bean初始化失败;嵌套的异常是java.lang.IllegalArgumentException:警告此类型名称不匹配:EmployeeDAO [Xlint:invalidAbsoluteTypeName]
  
  原因:java.lang.IllegalArgumentException:警告此类型名称不匹配:EmployeeDAO [Xlint:invalidAbsoluteTypeName]


以下是我的代码的外观:

@After("execution(* EmployeeDAO.getEmployeeById(..))")         //point-cut expression
public void logAfterV1(JoinPoint joinPoint)
{
    System.out.println("EmployeeCRUDAspect.logAfterV1() : " + joinPoint.getSignature().getName());
}

最佳答案

@After("execution(* com.sonu.springaop.dao.EmployeeDAO.getEmployeeById(..))")         //point-cut expression
public void logAfterV1(JoinPoint joinPoint)
{
    System.out.println("EmployeeCRUDAspect.logAfterV1() : " + joinPoint.getSignature().getName());
}


使用类的完全限定名称和程序包名称。

10-02 11:07