首页 > 解决方案 > 无法使用 Spring Boot 设置 H2 JPA 数据库 - 错误:没有可用于自动装配的 bean

问题描述

我遵循了使用 Spring Boot 构建 REST API 的教程。https://spring.io/guides/tutorials/rest/

一切都很好,直到我尝试设置一个@Configuration来设置 h2 数据库连接。

我有一个存储库


import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
interface EmployeeRepository extends JpaRepository<Employee, Long> {}

我有一个 @Entity :


@Entity
public class Employee {
    private @Id @GeneratedValue Long id;
    private String name;
    private String role;

    public Employee() {}
}

当然我有我的@SpringBootApplication


@SpringBootApplication
public class RestdemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(RestdemoApplication.class, args);
    }

}

我得到的错误是在 LoadDatabase @Configuration 类中:

在此处输入图像描述

当我完全按照教程进行时,为什么会出现错误?教程是否缺少一些关键步骤或注释,还是我在某个地方搞砸了?

标签: javaspring-bootspring-data-jpaautowiredspring-repositories

解决方案


您的存储库类需要进行注释,@Repository以便它可以在 Spring 应用程序上下文中注册为 bean:

@Repository
public interface EmployeeRepository extends JpaRepository<Employee, Long> {}

此外,屏幕截图中的错误是 IDE 错误,试图预测启动时的运行时异常。在某些情况下,它可能是误报。


推荐阅读