我有以下内容:
@AfterReturning("executionOfTrustedAnnotatedMethod()")
public void afterReturningFromTrustedMethodExecution() { ... }
@AfterThrowing(pointcut = "executionOfTrustedAnnotatedMethod()")
public void afterThrowingByExecutionOfTrustedAnnotatedMethod() { ... }
我观察到这种对我没有意义的行为:
我想要完成的是在方法执行结束时运行一些代码,无论是否抛出异常。但是现在这个代码运行了两次(如果我同时有afterReturning和afterThrowing)或根本没有(如果我只有afterReturning),如果抛出异常。
有什么建议吗?
谢谢, 彼得
答案 0 :(得分:6)
如果您想在方法之后执行代码,无论是否抛出异常,您都需要使用@After
。