SpringDataJpa如何自定义扩展?说一下思路

  1. 经过查看SpringDataJpa接口的继承体系,发现SpringDataJpa默认使用SimpleJpaRepository来创建子类对象,并且生成代理对象,最后返回出来
  2. 我们可以给我们所有的业务Repository抽取一个公共父接口,(BaseRepository+@NoRepositoryBean注解),扩展的方法写在这个父接口中
  3. 然后写一个父接口的实现类,继承SimpleJpaRepository,并且实现自定义的父接口中扩展的方法
  4. 然后将所有业务Repository继承我们自定义的父接口(BaseRepository)
  5. 因为SpringDataJpa默认使用SimpleJpaRepository来创建子类对象,所以我们要让SpringDataJpa默认使用我们自定义的BaseRepository父接口的实现类来创建子类,就需要修改配置文件:
    factory-class="cn.itsource.ibs.repository.BaseRepositoryFactoryBean

猜你喜欢

转载自blog.csdn.net/z2014ypd/article/details/89065041