gpt4 book ai didi

java - 改变Spring数据jpa实体包创建bean报错

转载 作者:行者123 更新时间:2023-11-29 04:42:22 25 4
gpt4 key购买 nike

我使用 spring-boot-starter-data-jpa 从 mysql 获取数据。

当我的项目结构是(Project.java 文件在应用程序包中)时,一切正常,但是当我将 Project.java 实体文件放入实体包时,出现以下异常:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'controller': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.gehive.microservice.data.repositories.ProjectRepository com.gehive.microservice.application.Controller.repo; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'projectRepository': Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Not an managed type: class com.gehive.microservice.data.entities.Project

无一异常(exception)地工作:

enter image description here

如果像这样的结构我得到异常:

enter image description here

最佳答案

默认@ComponntScan对于 Spring boot(@SpringBootApplication 继承的那个)扫描当前包及其所有子包。

第一种情况Project.javaApplication.java 在同一个包中, 所以没关系。

要使 Project 从另一个包中运行,请将名称更改为 com.gehive.microservice.application.entities或主类的任何子包。

通常我将引导类和所有配置类保存在名为 <com|org|etc>.<myCompany>.<myProject> 的包中然后创建其他包作为这个包的子包。

Spring Data JPA 有一些其他条件与包相关。看看 Docs

关于java - 改变Spring数据jpa实体包创建bean报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38671596/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com