【问题标题】:How can I pass a customized value to a spring aop advice?如何将自定义值传递给 spring aop 建议?
【发布时间】:2016-05-11 02:06:15
【问题描述】:

如果我以一个名为public void delete(int id);的服务方法为切入点,我想在其上添加一个返回后通知,但我不知道删除了什么样的对象(但是,调用该服务的servlet知道类型值),所以我想知道是否可以在激活此返回后通知时将自定义值传递给它,例如'user'。我已经查看了 Spring 网站上的相关文档,但我仍然一无所知。非常感谢您的回答,THX。

【问题讨论】:

  • 您有一个void 方法,因此不会返回任何内容,因此AfterReturning 有点没用。你想达到什么目的?

标签: java spring spring-mvc aop spring-aop


【解决方案1】:

一种解决方案,但需要在 Service 方法中进行重构

1) 重构

public class DeleteRequest {
   String type;
   Long id;
}

public boolean delete(DeleteRequest request){ // impl}

2) 使用周围的建议 2.1)在继续执行方法之前,读取传递的参数并获取“XYZ”要求的要删除的对象。 2.2) 捕获delete方法执行的结果 如果它是真的,那么做你的事情

注意:我将这种方法用于删除实体通知。那么我们如何在 after-advice 中获取已删除的实体信息,从而将实体信息保留在之前阶段并在成功执行后使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    • 2014-12-10
    • 2018-12-02
    相关资源
    最近更新 更多