before: Run advice before the a method execution.after: Run advice after the a method execution regardless of its outcome.after-returning: Run advice after the a method execution only if method completes successfully.after-throwing: Run advice after the a method execution only if method exits by throwing an exception.