【发布时间】:2015-10-27 10:09:14
【问题描述】:
首先也是最重要的:我对此完全不了解,我真的很想理解这一点,但这些特殊的例外对我没有太大帮助。因此,也许我只需要一个指向适当文档的指针,也可能不需要,但这已经让我死了好几天,而且我离任何类似的解决方案都不近了。
我有一个示例项目,它声明了一个数据库表。该项目还通过 REST 公开了此表。该项目分为4个模块:
- config:包含各种配置项,如hibernate配置等。所有配置都是.java文件,不是.xml
- model:包含 DB 模型声明/实体(也是 .java 注释的)
- data:包含每个模型的 DAO 及其实现(目前只有一个)。包含 AbstractDao(简单 sessionFactory 包装器/持久化实现器)、UserDao(用于休息方法的接口)和 UserDaoImpl(用于用户模型的实现)
- web:控制器通过
org.springframework.http.ResponseEntity将 DAO 发布到 REST
应用发布到 tomcat 8 并按预期运行。
现在我尝试将另一个模型添加到应用程序中,因此我向包含另一个带注释的模型/实体的模型子目录添加了一个新的 .java。
当我这样做时,我的应用程序将不再启动。
我得到异常 Servlet.init() 用于 servlet 调度程序抛出异常
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao': Injection of autowired dependencies failed;
org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.hibernate.SessionFactory sima.data.AbstractDao.sessionFactory;
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in sima.config.HibernateConfiguration: Invocation of init method failed;
org.hibernate.tool.schema.spi.SchemaManagementException: Unable to open JDBC connection for schema management target
java.sql.SQLException: Data source is closed
请注意,此例外适用于我尚未修改的现有对象。我在 models/ 子目录中添加了一个新对象,整个世界都在我周围爆炸。
然后我也尝试添加 DAO 和 Controller,但它自然没有帮助。看起来我忘记了一些事情,但作为一个 n00b 并且没有从给我样本的人那里得到任何解释,我只是难住了。
你能帮我理解一下吗?
【问题讨论】: