spring-data-jpa Spring Data 存储库无需注解即可工作

dffbzjpn  于 2022-11-10  发布在  Spring
关注(0)|答案(3)|浏览(154)

我使用的是Spring Data JPA存储库(比如MyRepo extends JpaRepository),没有@Repository@EnableJpaRepositories注解它也能工作。有人能解释一下为什么吗?

8xiog9wr

8xiog9wr1#

您可能正在使用Sping Boot 。
Spring Data 仓库通常从Repository或CrudRepository接口扩展。如果您使用自动配置,仓库将从包含您的主配置类(用@EnableAutoConfiguration或@SpringBootApplication标注的类)的包向下搜索。
请查看Sping Boot 参考文档(v2.7.2)以了解更多详细信息。

r6vfmomb

r6vfmomb2#

您不需要@Repository来使用SpringDataJPA。扩展CrudRepository或JPARepository的接口即使不使用@Repository对其进行注解也可以工作。您需要使用此注解的核心原因是它使DAO层中抛出的未经检查的异常有资格被转换为SpringDataAccessException。反过来,这将更容易处理。这是使用@的重要方面资料档案库
更多详细信息请参见此-〉https://www.youtube.com/watch?v=z2re1MfWtz0&list=PLO0KWyajXMh4fGMvAw1yQ1x7mWayRcmX3&index=8&t=0s

sqyvllje

sqyvllje3#

有关更多信息,请查看这些用于自动配置Spring Data JPA存储库的类:

Jpa存储库自动配置注册器

文件:http://www.atetric.com/atetric/javadoc/org.springframework.boot/spring-boot-autoconfigure/1.2.0.RELEASE/org/springframework/boot/autoconfigure/data/jpa/JpaRepositoriesAutoConfigureRegistrar.html

@EnableJpaRepositories
    private static class EnableJpaRepositoriesConfiguration {

    }

相关问题