java - Spring:覆盖 CrudRepository 中的保存方法

标签 java spring spring-data

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

预先感谢您的任何提示

编辑

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

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

最佳答案

我不认为在这种方法(默认和覆盖)中使用 super 是可能的。所以您必须更改方法的名称 - 这可能不是您要查找的名称:

public interface TestRepository extends CrudRepository<MyClass, String> {

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

关于java - Spring:覆盖 CrudRepository 中的保存方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34356700/

相关文章:

java - 添加新布局、 fragment 或新 Activity ?

java - Spring Boot OAuth 字符转义

java - Mapstruct 更新值而不覆盖

spring - 如何从自定义 java 组件中的上下文属性占位符标记获取属性

java - 如何为索引准备 Unicode 字符串?

java - 参数传递和方法调用

java - 类似OSGI/Eclipse扩展点的Spring机制

java - 我可以使用 Spring Framework 分离 JDBC 读取和写入吗?

spring data mongodb,使用 MongoRepository 还是 MongoTemplate?

java - 出现错误考虑在配置中定义类型为 'com.sam.cmsshoppingcart.models.PageRepository' 的 bean