【发布时间】:2021-01-05 09:29:57
【问题描述】:
我经常看到如下代码:
@Repository
public interface CustomerRepository extends JpaRepository<Customer, Long>
我的问题是为什么我们需要这个 @Repository 注释?
我理解@Repository 存在的原因,以及为什么我们可能需要加入某些课程。
但是类没有从 Java 中的接口继承注解。当然,我可能会错过一些关于 Spring 'magic' 的内容,但默认的 JPA 实现类如下:
@Repository
@Transactional(readOnly = true)
public class SimpleJpaRepository<T, ID> implements JpaRepositoryImplementation<T, ID>
它本身就包含@Repository,那么为什么我们的界面需要它呢?
Spring Data 文档在相关部分也没有提及 @Repository,但文档其他部分的一些偶尔示例包含存在 @Repository 的代码片段,所以随着时间的推移可能发生了一些变化?
【问题讨论】:
标签: java spring jpa spring-data-jpa