Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring:覆盖crudepository中的save方法_Java_Spring_Spring Data - Fatal编程技术网

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存储库是自动公开的,因此没有服务方法