2015-12-18 32 views
7

我想添加一些代码在保存方法CrudRepository但保持原有功能。之后,保存方法应该做什么之前,保存到存储库,但另外执行额外的操作。可能吗?如果是这样,我怎么能正确地做到这一点?Spring:Override保存方法在CrudRepository

预先感谢您的任何提示

编辑

所以,我想这样的创建方法:

@Override 
public default <S extends MyClass> S save(S myClassItem) { 
    //here my functionality 
    super.save(myClassItem); //from CrudRepository 
    return myClassItem; 
} 
+0

你有你自己的crudRepository的权利?还是来自某个罐子? –

+0

扩展CrudRepo,覆盖你的保存方法,然后在父回购上调用super(args)....简而言之 – Mechkov

+3

你确定代码应该在save方法中而不是在你使用的服务方法中吗?你想添加什么? –

回答

0

我不认为这是可能的用户超在这样的一种方法(默认和重写)。所以你必须改变方法的名称 - 这可能不是你正在寻找的:

public interface TestRepository extends CrudRepository<MyClass, String> { 

    default MyClass mySave(MyClass myClassItem) { 
     save(myClassItem); 
     return myClassItem; 
    } 
}