我有一个工作的 spring-hibernate 项目,我决定将这个项目的一部分转移到一个新的项目中,以拥有类似于基础项目的东西。这个新的基础项目包含一些用于休眠的 dao 类和大量的 spring 注释。所以我成功地创建了它并将它发布到我的存储库。之后,我将它添加到我的第一个项目中。我还添加了带有基本项目包的spring config。现在我有没有弹簧/休眠配置的基础项目。另一个依赖于基础的项目,另一个项目有 spring/hibernate 配置。
现在我收到很多运行时错误。1. 我在基础项目中的服务类无法从基础项目中的另一个包中自动装配 DAO 类。在我把它放在一个包裹里之后,问题就解决了。但我不太喜欢它。2. 我的 DAO 方法在运行时出现“没有绑定到线程的休眠会话,并且配置不允许在此处创建非事务性会话”。但以前,当我有一个项目时,他们工作得很好。
我需要基础项目中的弹簧配置吗?我怎样才能正确地做这些事情?
更新
现在春天事务管理器中的问题。在基础项目中,我有带有 dao 类的基础抽象控制器。在主类中,我有一个继承基控制器的控制器。当我在服务器上运行项目时,当基本 dao 调用 sessionFactory.getCurrentSession() 时,我收到“没有绑定到线程的休眠会话”。但在我拆分这个项目之前,一切都很好。如果我从 junit 运行 Dao 方法,它们也可以正常工作。
Slove 问题是在“context:component-scan”中添加了一些包。它给出了这种效果。谢谢你们的回复。