Java Spring:覆盖crudepository中的save方法
我想在Java Spring:覆盖crudepository中的save方法,java,spring,spring-data,Java,Spring,Spring Data,我想在crudepository的save方法中添加一些代码,但保留原始功能。在该保存方法之后,应该执行之前的操作,将其保存到存储库,但还要执行额外的操作。可能吗?如果是的话,我怎样才能做好呢 提前感谢您提供的任何提示 编辑 因此,我想创建如下方法: @Override public default <S extends MyClass> S save(S myClassItem) { //here my functionality super.save(myCla
crudepository
的save方法中添加一些代码,但保留原始功能。在该保存方法之后,应该执行之前的操作,将其保存到存储库,但还要执行额外的操作。可能吗?如果是的话,我怎样才能做好呢
提前感谢您提供的任何提示
编辑
因此,我想创建如下方法:
@Override
public default <S extends MyClass> S save(S myClassItem) {
//here my functionality
super.save(myClassItem); //from CrudRepository
return myClassItem;
}
@覆盖
公共默认S保存(S myClassItem){
//这是我的功能
super.save(myClassItem);//来自crudepository
返回myClassItem;
}
我认为不可能在这种方法中使用super(默认和重写)。因此,您必须更改方法的名称-这可能不是您想要的:
public interface TestRepository extends CrudRepository<MyClass, String> {
default MyClass mySave(MyClass myClassItem) {
save(myClassItem);
return myClassItem;
}
}
public interface TestRepository扩展了crudepository{
默认MyClass mySave(MyClass myClassItem){
保存(myClassItem);
返回myClassItem;
}
}
您有自己的积垢储存权吗?还是来自某个jar?扩展crudepo,重写save方法,然后在父repo上调用super(args)……简言之,您确定代码应该在save方法中,而不是在您使用的服务方法中?你想添加什么?@Mechkov Crudepository是一个界面。。。你能详细说明一下吗?@M.Deinum我也有类似的问题。。。我想这里的要点是rest存储库是自动公开的,因此没有服务方法