Spring Data JPA应用之自定义Repository实现
在Spring Boot对Spring Data JPA的支持中可以观察到对于数据访问并没有复杂的业务逻辑,可以知道Spring Data JPA提供了代理模式进行处理。跟踪源码可以知道其使用了SimpleJapRepository。
那么这个类的有什么特点呢?
通过上述类图,其本质也就是实现了JpaRepository和JpaSpecificationExecutor接口。如果项目中需要把常用的数据库操作进行封装,像JpaRepository一样提供领域类的Repository接口使用,应该也可以吧。实操如下:
1、自定义Repository接口
2、Repository接口实现
3、自定义RepositoryFactoryBean
4、配置修改默认的Repository类型为自定义类型
springboot好像不支持jpa修改生产Repository bean的工厂bean——配置文件中没有提示修改的参数配置(?)。
补充:为什么还有自定义一个对应的RepositoryFactoryBean?参考Spring高级特性之四:FactoryBean和BeanFactory分析可知:RepositoryFactoryBean为自定义Repository的创建提供了创建环境——FactoryBean为定制化bean存在。