- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有以下内容:
@AfterReturning("executionOfTrustedAnnotatedMethod()")
public void afterReturningFromTrustedMethodExecution() { ... }
@AfterThrowing(pointcut = "executionOfTrustedAnnotatedMethod()")
public void afterThrowingByExecutionOfTrustedAnnotatedMethod() { ... }
我观察到这种对我来说没有意义的行为:
我想要完成的是在方法执行结束时运行一些代码,而不管是否抛出异常。但是现在这段代码运行两次(如果我有 afterReturning 和 afterThrowing)或者根本不运行(如果我只有 afterReturning)如果抛出异常。
有什么建议吗?
谢谢,彼得
最佳答案
如果你想在方法之后执行代码而不管是否抛出异常,你需要使用 @After
代替。
关于java - 为什么@AfterReturning 只在@AfterThrowing 之后执行异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4304676/
@AfterReturning(pointcut)和@AfterReturning(value)有什么区别 @AfterReturning(pointcut = "execution(* my.jav
这个问题已经有答案了: Why does self-invocation not work for Spring proxies (e.g. with AOP)? (1 个回答) 已关闭2 年前。 我
这是 spring xml 文件的一部分: 接着是java代码: public class FileService { public long read(Object obj,Stri
我需要在执行函数后执行任务。我为此使用了 Aspect。但我有些困惑。 我在 Spring 服务中有一个函数 A()。 @Transactional(readOnly = false,
我有个小问题。我在某些函数返回后调用 AfterReturning 函数,而我的 AfterReturning 函数工作了两次,我不希望这样。这是代码: @Aspect @Component @Con
我有这个方法,它确实返回一个列表: public List getMissingReports(List expectedReports,
我有一个可以更新字段的方法,但我想在执行该方法之前检查该值,以便我可以确定操作(编辑/添加/删除)。 @Before(value = "execution(* com.test.app.*.servi
Spring配置文件
我正在学习 AOP spring 并尝试一些示例。关于@AfterReturning,我的理解是只有当目标成功返回并且匹配切入点时才会调用该方法。然而,在我的例子中,如下所示,我有一个切入点,它定义了
我已经使用 Spring AOP 为每个保存操作设置了日志记录,其中我用 @Transactional 进行了标记。问题是当我的 save 方法抛出异常并仅使用回滚标记事务时,但使用 AOP 的日志记
在 Web 应用程序中,我使用 Spring AOP 检查来电时对我的服务的授权,并在返回结果时管理消息(信息、警告、错误)。使用一个方面可以节省我的代码行并概括我的服务行为(而且它看起来很性感 ^^
我有以下内容: @AfterReturning("executionOfTrustedAnnotatedMethod()") public void afterReturningFromTrusted
我是一名优秀的程序员,十分优秀!