1

我的项目基于 Spring 和 Hibernate。我熟悉 Spring AOP。

有一个要求是,无论何时(通过服务层)调用 DAO 层的任何方法,我都需要检查一些逻辑,并基于该 DAO 层方法应该被允许继续。所以,我想在这里使用AOP。该方面将有一个方法,应用了之前的通知,该方法将具有一些逻辑,并将相应地返回真或假,并且基于从方面返回的布尔值,DAO 方法将被允许继续执行其持久性逻辑。例如,如果返回true,将发生DAO持久化过程,如果返回false,则不会发生持久化逻辑。

但是,我面临的挑战是如何将布尔值从 Aspect 返回到 DAO 层方法。

是否可以使用Before 通知从通知方法(即用 Aspect 编写的方法)返回一个值到目标方法?请帮忙。

4

1 回答 1

0

如果您的 DAO 可以与“proceed/execute/doStuff”方法共享一个接口,那么您可以从 Advice(或不)调用它。

如果不是,为什么不向 DAO 添加一个标志并从建议中设置它,然后在 DAO 上检查它,然后再继续,然后在离开方法之前将其设置回默认状态。

于 2012-09-28T15:46:21.230 回答