Spring数据仓库可以不使用注解

10

我正在使用Spring Data JPA仓库(例如 MyRepo extends JpaRepository),它可以在没有@Repository@EnableJpaRepositories注释的情况下正常工作。有人能解释一下吗?


3
Spring Boot及其自动配置功能的美丽之处! - Barath
3
在Spring Data的仓库中,不需要使用@Repository注解。 - dunni
3个回答

12

很可能您正在使用Spring Boot。

Spring Data存储库通常从Repository或CrudRepository接口扩展。如果您使用自动配置,则会从包含主配置类(使用@EnableAutoConfiguration或@SpringBootApplication注释的那个类)的软件包向下搜索仓库。

更多详情请参见Spring Boot参考文档(v2.7.2)


3
您不需要使用 @Repository 注解来使用 Spring Data JPA。即使没有在接口上注释 @Repository,扩展 CrudRepository 或 JPARepository 的接口也可以工作。使用此注解的核心原因是:它使 DAO 层中抛出的未经检查的异常有资格转换为 Spring DataAccessException。这将更容易处理。这是使用 @Repository 的重要方面。
更多详细信息请参见:https://www.youtube.com/watch?v=z2re1MfWtz0&list=PLO0KWyajXMh4fGMvAw1yQ1x7mWayRcmX3&index=8&t=0s

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接