一 点睛
Spring Data Commons有一个重要概念:Spring Data Repository抽象。使用Spring Data Repository可以极大地减少数据访问层的代码。既然是数据访问操作的统一标准,那肯定是定义了各种各样和数据访问相关的接口,下面来看看Spring Data Repository抽象的根接口是怎样定义的。
二 关键源码解读
1 Repository接口
package org.springframework.data.repository;
import java.io.Serializable;
//它接受领域类(JPA为实体类)和领域类的id类型作为类型参数
public interface Repository<T, ID extends Serializable> {
}
2 CrudRepository接口
//Repository的子接口CrudRepository定义了和CRUD操作相关的内容。
package org.springframework.data.repository;
import java.io.Serializable;
@NoRepositoryBean
public interface CrudRepository<T, ID extends Serializable> extends Repository<T, ID> {
//关于创建或修改的函数
<S extends T> S save(S entity);
<S extends T> Iterable<S> save(Iterable<S> entities);
//关于获取