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

时间:2017-03-09 09:38:55

标签: java spring annotations spring-data-jpa

我不确定我是否理解正确,所以想澄清一下。 如果我想为我的实体创建一个存储库,例如:

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

我应该用@Repository注释它吗?根据这个question @Repository注释将异常从SQL转换为持久性注释,但JpaRepostiory是否已经这样做了?什么是最佳实践 - 注释与否?

2 个答案:

答案 0 :(得分:8)

使用JpaRepository时,您不需要使用@Repository

注释界面

它只是一个接口,具体实现由Spring动态创建为代理对象,并在那里处理JDBC异常。

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

答案 1 :(得分:0)

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