为什么在Spring Boot期间找不到bean?

时间:2019-03-08 13:19:25

标签: java spring hibernate jpa

此问题已解决。请在下面查看检查后的答案。

我将DAO重新配置为一种更方便的方式(通过使用JpaRepository),而不是手动完成所有样板代码。但是现在每次启动Spring Application时,都会出现以下错误:

***************************

申请无法开始

说明:

DAO.UserDAOService中的字段userRepository需要一个类型为'DAO.UserRepository'的bean。

注入点具有以下注释:         -@ org.springframework.beans.factory.annotation.Autowired(required = true)

操作:

考虑在您的配置中定义类型为'DAO.UserRepository'的bean。

以退出代码1完成的过程

********************************************************************

4 个答案:

答案 0 :(得分:1)

您忘记在存储库类上添加注释。这就是为什么Spring找不到那个bean。

尝试在类定义的顶部添加@Repository

答案 1 :(得分:1)

添加@Repository批注,然后将创建bean并将其自动连接到服务中。

import org.springframework.stereotype.Repository;

@Repository
public interface UserRepository extends JpaRepository<User , Integer>
{
}

不需要在服务中创建bean

@Bean
public void setUserRepository(UserRepository userRepository)
{
    this.userRepository = userRepository;
}

答案 2 :(得分:1)

1)确保您的存储库类位于ApplicationConfiguration类的子包中

2)用@Repositiry

注释存储库类

答案 3 :(得分:1)

解决方案:只需在您的Spring应用程序所在的同一包中创建子包。

可以在此处找到解决方案的示例:'Field required a bean of type that could not be found.' error spring restful API using mongodb