首页 > 解决方案 > 这些接口方法的实现在哪里?

问题描述

我是 Spring Boot 和 Hibernate 的新手,并且正在阅读以下帖子:https ://medium.com/@gustavo.ponce.ch/spring-boot-spring-mvc-spring-security-mysql-a5d8545d837d

我看到在接口中声明了以下方法,但在任何地方都没有这些方法的实现。

  @Repository("userRepository")
public interface UserRepository extends JpaRepository<User, Long> {
     User findByEmail(String email);
}

@Repository("roleRepository")
public interface RoleRepository extends JpaRepository<Role, Integer>{
    Role findByRole(String role);

}

有人可以解释一下这些方法的实现在哪里以及它是如何工作的吗?

标签: hibernatespring-boot

解决方案


根据入门:使用 JPA 访问数据文章:

在典型的 Java 应用程序中,您希望编写一个实现 CustomerRepository 的类。但这正是 Spring Data JPA 如此强大的原因:您不必编写存储库接口的实现。当您运行应用程序时,Spring Data JPA 会即时创建一个实现。

如果您深入研究 Sprign Data JPA 框架,您会发现org.springframework.data.jpa.repository.support.SimpleJpaRepository和其他执行实际工作的类。通常你不会使用这些。


推荐阅读