当前位置: 代码迷 >> 综合 >> Springboot 数据访问之JPA:Repository接口
  详细解决方案

Springboot 数据访问之JPA:Repository接口

热度:30   发布时间:2023-11-01 18:10:09.0

Springboot 数据访问之JPA:Repository接口

 1.Repository是一个空接口,即是一个标记接口。

 2.若我们定义的接口继承了Repository,则该接口会被IOC容器识别为一个Repository Bean,纳入到IOC容器中,进而可以在该接口中定义满足一定规范的方法。IOC容器中实际存放了继承了Repository的接口的实现类,而这个实现类由spring帮助完成 。在applicationContext.xml中我们配置了springdata:这里的base-package指定了Repository Bean所在的位置,在这个包下的所有的继承了Repository的接口都会被IOC容器识别并纳入到容器中,如果没有继承Repository则IOC容器无法识别。

 3.我们也可以通过注解的方式替代继承Repository接口@RepositoryDefinition(domainClass=需要处理的实体类的类型,IdClass=逐渐的类型)。

 4.除了使用注解和继承Repository接口我们还可以继承Repository的子接口与实现类,他们的关系如下:

  Repository:仅仅是一个标识,表明任何继承它的均为仓库接口类。

  CrudRepository:继承Repository,实现了一组CRUD操作相关的方法。 

  PagingAndSortingRepository:继承CrudRepository,实现了一组分页排序相关的方法。

  JpaRepository:继承PagingAndSortingRepository,实现一组JPA规范的相关方法。

  自定义的XxxxRepository:需要继承JpaRepository,这样的XxxxRepository接口就具备了通用的数据访问控制层的能力。

  JpaSpecificationExecutor:不属于Repository体系,实现一组JPACriteria查询相关的方法。