当前位置: 首页 > 知识库问答 >
问题:

controller中Spring-data-jpa存储库的BeanCreationException

孟嘉歆
2023-03-14

我有spring-boot-starter-data-jpaspring-boot-starter-web。我尝试使用Spring JPAMySQL加载List ,但在Controller中得到了BeanCreationException。

...
@RestController
public class Controller {

    ...

    @Autowired 
    private ProjectRepository repository;


    private ProjectAccessor projectAccessor = manager.createAccessor(ProjectAccessor.class);

    public void setRepository(ProjectRepository repository){
        this.repository = repository;
    }

    @RequestMapping("/test")
    @ResponseBody
    public List<Project> test() {


        System.out.println("mysql test");

        return repository.findAll();
    }

    ...
public interface ProjectRepository extends CrudRepository<Project, Long>{
     List<Project> findAll();
}

共有1个答案

郗奇玮
2023-03-14

您是否在ProjectRepository上编写了@repository注释

@Repository
public interface ProjectRepository extends CrudRepository<Project, Long>{
     List<Project> findAll();
}

确保使用@enablejparepositories在配置中启用了JpaRepository

 类似资料:
  • 我在玩spring数据存储库,有一个关于编写CRUD测试的问题。我针对Hibernate DAO和EJB3实体bean编写了许多CRUD测试,在这些测试中,我创建和实体,将其刷新到数据库中,清除实体管理器,并按ID读回它。实体管理器被清除,因此第一级缓存不会在读取时被击中。 使用spring数据存储库,我找不到一种方法来清除测试使用的底层实体管理器,这样我的读取就不会返回到实际的数据库,使我的测试

  • 最近,我注意到Spring Data JDBC,所以我决定在一个新的Spring Boot(2.3.1)应用程序中使用它。在我的用例中,我有一个包含两类表的DB模式: 用于存储应用程序(更复杂的)业务逻辑所使用的实体的表。我使用Spring Data JPA(带有底层Hibernate)来处理它们。 表,用于存储彼此之间没有太多关系的简单数据记录(例如来自外部系统的数据记录)。我决定对它们使用Sp

  • 问题内容: 我有许多需要保留到数据库的简单对象类型。我正在使用Spring JPA来管理这种持久性。对于每种对象类型,我需要构建以下内容: 在我看来,有可能用三个基于泛型的类替换每种对象类型的多个类,从而节省了大量的样板代码。我不确定该怎么做,实际上,如果这是个好主意? 问题答案: 首先,我知道我们在这里提高了一些标准,但这已经比没有Spring Data JPA的帮助而编写的代码少得多。 其次,

  • 我以前从未将Spring Data JPA与存储过程一起使用过,但我非常感谢这里的任何反馈/输入

  • 我们正在研究一个包含大量DB表的Restful项目。虽然对这些表的操作几乎相同,主要是插入/更新/删除/提取(insert/update/delete/fetch)。 我的问题是: 我们是否必须为我们创建的每一个实体(域类)创建一个存储库(扩展JpaRepository),或者,有一个选项可以为所有实体创建一个能够处理上述所有功能的GenericRepository?即为所有人提供一个单一的Gen

  • 问题内容: 我无法为spring数据jpa存储库提供建议。目的是在特定存储库中使用自定义注释(在此示例中为ResourceNotFound)进行注释的(非常规)所有非公共方法,并在返回值为或者为空集合时引发异常。 以下建议是将用注释的接口实现的所有公共方法进行连接。 该方法的工作原理,当切入点isspecified为: 但是,未拾取注释。这可能是由于存储库接口的基础类是一个(代理的)不具有特定注释