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

标签 java spring annotations spring-data-jpa

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

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

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

最佳答案

使用 JpaRepository 时你不需要用 @Repository 注释接口(interface)

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

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

关于java - 在 Spring 中实现 JpaRepostiory 时使用存储库注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42691697/

相关文章:

java - 只有一个事务数据源的 Spring @Transactional 行为

spring - 对与 Spring 一起使用的丰富框架感到困惑

java - OSGi 中 bundle 安装后缺少注释

java - 方法参数级别的@ModelAttribute 注释是什么意思?

java - JetS3t 和使用客户提供的 key 的服务器端加密

java - 解析: ACL Cannot send data to server

java - 使用 ScheduledThreadPoolExecutor 允许核心线程超时

java - 接口(interface)扩展了链表泛型上的接口(interface)

java - org.jacoco :jacoco-maven-plugin 的生命周期配置未涵盖插件执行

java - Spring MVC : Having multiple @ModelAttribute in form handling action