AspectJ“此建议不建议任何方法”

时间:2019-05-17 08:31:44

标签: java aspectj

在学习了有关它的一些理论之后,我正在尝试使用AspectJ。

我已经做了一个非常基本的示例,该示例可以正常工作,但是我的方法旁边出现了“此建议不建议任何方法”的信息消息。

我的代码如下:

@Aspect
public class LoggingAspect {

private static Logger logger = Logger.getLogger(Object.class);

@AfterReturning(pointcut = "execution(* com.ecc.bo.company.Company.getName(..))", returning = "x")
public void logResult(Object x) {
    logger.error("WITH ASPECTS, method returned: " + x.toString());
}
}

我真的不明白为什么,因为在我键入时,包名是自动完成的。另外,为了防万一(getName),我在上述方法上设置了一个断点,并且确实被调用了。

也许我错过了一些配置步骤,还是找不到语法错误?

我也尝试过使用超通用版本

execution(* *(..))

但是它似乎仍然与任何方法都不匹配。

编辑:这是Company类的“有趣”部分:

public class Company {
  private String name;
  public String getName() {
   return name;
  }
}

没有特殊的注释,至少没有与AspectJ相关的

1 个答案:

答案 0 :(得分:0)

在xml中使用   spring默认代理是jdk代理,只能用于类实现接口; 您可以使用cglib,另一个可以用于普通类的代理