Spring Data Commons provides the basic abstractions behind Spring Data modules. It defines the common interfaces and patterns that are used across Spring Data implementations. We will use Spring Data JPA as an example to illustrate these abstractions.
Some of the important interfaces in Spring Data Commons are listed as follows:
Repository<T, ID extends Serializable>
CrudRepository<T, ID extends Serializable> extends Repository<T, ID>
PagingAndSortingRepository<T, ID extends Serializable> extends CrudRepository<T, ID>