这是一个简单的问题,当然有人知道这一点在他们的头顶......
当你在AspectJ中写下'around'建议时,你是否需要调用继续?让我们说你想让一个方法做一些完全不同的事情?你可以离开'继续'或者它会产生错误(强迫你打电话继续但忽略结果)?
String around() : generateCommand() {
//never call proceed
return getCommanMyOwnWayWithoutAccessingDatabase();
}
或者你必须这样做:
String around() : generateCommand() {
String commandInvolvingInvalidDatabaseCall = proceed();
//completely ignore results from proceed
return getCommanMyOwnWayWithoutAccessingDatabase();
}
答案 0 :(得分:8)
仅当您要调用推荐方法的功能时,才调用proceed()或继续(..)。因此,在您的情况下,如果您想要做一些完全不同的事情,请不要打电话。