【发布时间】:2021-10-17 16:23:06
【问题描述】:
我正在做一个 Spring/Hibernate MVC CRUD 项目(可以在这里找到:https://github.com/Benjamin-Re/customer-tracker-demo/tree/main/web-customer-tracker1/src/base_package/de/entity)。在 servlet 中,我声明要扫描的基本包。但是它不扫描子包。我收到我的实体“未映射”的错误。
org.hibernate.hql.internal.ast.QuerySyntaxException: 客户未映射 [来自客户]
我只指定了要扫描的实体包,错误就消失了。但是没有扫描其他包的bean,因此找不到映射。
我尝试这样列出子包:
<context:component-scan base-package="base_package.de.entity, base_package.de.controller, base_package.de.dao, base_package.de.service" />
但没有找到实体。我得到同样的错误。
我也尝试这样列出它们:
<context:component-scan base-package="'base_package.de.entity', 'base_package.de.controller', 'base_package.de.dao', 'base_package.de.service'" />
在这里,我没有收到错误消息,而是收到警告:没有为 GET /web-customer-tracker1/customer/list 映射。所以我猜它找不到控制器。
然后我尝试将所有类直接放在一个包中。然后我收到错误: 创建名称为“customerController”的 bean 时出错:通过字段“customerService”表示的依赖关系不满足 所以现在它没有找到 customerService bean。如您所见,每个 bean 都有正确的注解 @Entity、@Controller、@Repository、@Service。我检查了导入,它们是 org.springframework.stereotype。
我在这里做错了什么?任何意见将不胜感激。
【问题讨论】:
-
您共享了一个存储库链接,谢谢。但是您没有从本地机器上传代码。没有看到代码我们如何解决问题?