在Spring中实现JpaRepostiory时使用存储库注释

问题描述:

我不确定是否理解正确,因此想澄清。 如果我想创建一个仓库为我的实体如:在Spring中实现JpaRepostiory时使用存储库注释

public interface BookRepository extends JpaRepository<Book, Id> {} 

我应该用@Repository批注呢?根据这question @Repository注释将SQL的异常转换为持久性,但JpaRepostiory没有这样做?最佳做法是什么 - 注释与否?

+0

不,您不需要使用Spring Data JPA。 Spring Data基础结构扫描所有扩展'Repository'的接口并为它们自动生成代理实现。 – manish

在使用JpaRepository你不需要注释界面@Repository

它仅仅是接口和具体实现由Spring动态创建的代理对象和JDBC异常的处理方式存在。

当您创建自定义DAO时,您需要使用@Repository,以便spring创建一个bean并正确处理异常。

您需要使用@Repository对其进行注释,以便spring知道它应该将该类实例化为一个bean。 @Component,@Service和@Repository注释在这方面都有相同的用途。 @Repository将范围缩小为专门处理获取和存储数据的服务。