@Repository实现 JpaRepository 时没有必要?

2022-09-01 11:26:10

我的春季启动应用程序中有一个存储库类。首先,我用它注释了它,然后我实现了。现在我摆脱了注释,它仍然有效。@RepositoryJpaRepository

我看到有注释。JpaRepository@NoRepositoryBean

这是如何工作的?或者这不应该起作用,并且我的应用程序中发生了一些奇怪的事情?


答案 1

确实没有必要将注释放在扩展的接口上;Spring通过扩展了预定义的接口之一来识别存储库。@RepositoryJpaRepositoryRepository

注释的目的是防止Spring将该特定接口本身视为存储库。该接口具有此注释,因为它本身不是存储库,它旨在通过您自己的存储库接口进行扩展,而这些是应该选择的。@NoRepositoryBeanJpaRepository

或者这不应该起作用,并且我的应用程序中发生了一些奇怪的事情?

它按预期工作,在您的应用程序中没有任何奇怪的事情发生。


答案 2

它不是强制性的。它将工作的原因是,您将指定框架化包以查找存储库@EnableJpaRepositories("packagestoscan")


推荐