Spring 在接口中动态执行方法后调用接口方法

Spring 在接口中动态执行方法后调用接口方法,spring,annotations,aop,spring-aop,Spring,Annotations,Aop,Spring Aop,首先,我为我的标题感到抱歉,我只是不能把它全部放在标题中。 以下是我的设想: 我在每个接口中都有一个方法deleteSomething()。在添加/更新/删除之后,应该调用deleteSomething()。现在我不想做这样的事 public void add(MyOblject objToSave) { sampleRepository.save(objToSave); deleteSomething(); } 我希望,在成功执行add()方法后,调用该接口的deleteSometh

首先,我为我的标题感到抱歉,我只是不能把它全部放在标题中。 以下是我的设想:

我在每个接口中都有一个方法deleteSomething()。在添加/更新/删除之后,应该调用deleteSomething()。现在我不想做这样的事

public void add(MyOblject objToSave)
{
  sampleRepository.save(objToSave);
  deleteSomething();
}
我希望,在成功执行add()方法后,调用该接口的deleteSomething()方法,其中add()方法已被执行。 这可能是可以使用aop或注释,但我不知道如何继续。所以请建议我实现这一点的方法


我使用的是spring数据jpa+hibernate

您可以做到这一点,尽管有点小技巧。返回后的
@是您需要的建议。因此,请查看SpringAOP以检查如何编写它们。对于
deleteSomething()
,必须使用反射通过方面调用方法。但是房间里的大象会问,你在看什么交易边界?对不起,我不明白你所说的“交易边界”是什么意思。你能告诉我这是什么意思吗?我的意思是,当你想在执行
add()
的业务逻辑后调用你的
delete()
方法时,如果你的事务从执行
start()开始,它将不再在同一个事务中
方法,并完成该方法的执行。