【问题标题】:Spring, Hibernate, MVC Error(s)Spring、Hibernate、MVC 错误
【发布时间】:2015-03-10 18:16:00
【问题描述】:

我正在使用 Spring、Hibernate 创建一个 Web 应用程序 (MVC),当我在服务器上运行它时收到错误消息(使用 Glassfish v4.1)。以下是错误:

无法部署项目1 部署失败=部署期间发生错误:加载应用程序时出现异常:java.lang.IllegalStateException:ContainerBase.addChild:开始:org.apache.catalina.LifecycleException:org.springframework.beans.factory.BeanCreationException:创建具有名称的bean时出错在类路径资源 [applicationContext.xml] 中定义的“org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0”:bean 初始化失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建类路径资源 [applicationContext.xml] 中定义的名称为“entityManagerFactory”的 bean 时出错:设置 bean 属性“dataSource”时无法解析对 bean“dataSource1”的引用;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有定义名为“dataSource1”的 bean。有关详细信息,请参阅 server.log。

如何解决此错误?提前致谢。

这是“applicationContext.xml”文件:

http://i.stack.imgur.com/ZuzHR.jpg

这是“persistence.xml”文件:

http://i.stack.imgur.com/7LLAH.jpg

【问题讨论】:

  • 错误似乎很明显...No bean named 'dataSource1' is defined.您正在引用一个不存在的数据源。
  • 我添加了 'applicationContent.xml' 和 'persistence.xml' 的 2 个文件。我可以去哪里修复错误?谢谢。对不起,我是初学者。
  • 将其作为内容添加到您的帖子中,而不是作为链接。但是请阅读堆栈跟踪并找出您需要引用的 bean。我怀疑这是一个名为 dataSource 的 bean。

标签: java spring hibernate spring-mvc


【解决方案1】:

喜欢@M。 Deinum 评论说,您需要确保定义了一个名为“dataSource1”且类型为 javax.sql.DataSource 的 bean,类似于:

<bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource">  
    <property name="URL" value="${url}" />  
    <property name="user" value="${username}"/>  
    <property name="password" value="${password}"/>   
  </property>  
</bean>

【讨论】:

  • 我添加了 2 个“applicationContent.xml”和“persistence.xml”文件。我可以去哪里修复错误?谢谢。对不起,我是初学者。
  • 看起来你只是因为你引用它的方式而错误地命名了你的 bean。对于 bean id="entityManagerFactory",您有 p-dataSource-ref="dataSource1",但您的数据源 bean(第一个 applicationContext.xml)有 id="datasource"。这些需要匹配。
  • 我无法评论您的最新问题,但它属于对原始问题的编辑或属于它自己的问题。但答案是,您没有通过库 JAR 将类 SQLServerDriver 包含在类路径中。以下是有关如何执行此操作的一些信息:msdn.microsoft.com/en-us/library/ms378526%28v=sql.110%29.aspx
  • 我在“Java 构建路径”下的“库”中添加了 SQL Server 驱动程序 sqljdbc.jar、sqljdbc4.jar 或 sqljdbc41.jar,但仍然收到相同的错误。
  • 我对 Eclipse 不太熟悉,所以调试起来会比较困难。我假设您将 JAR 添加为“外部 JAR”,并且您正在使用 Eclipse 运行您的应用程序。您可能想尝试运行 Project > Clean。我不确定,但您可能需要选中“Java 构建路径”中“订购和导出”选项卡下的 JAR 框。最后,您可以尝试在 Preferences > Java > Build Path > Classpath Variables 下添加“Classpath Variable”。我认为该格式应遵循我在上一条评论中发布的 Microsoft 指南。
猜你喜欢
  • 2016-06-13
  • 1970-01-01
  • 1970-01-01
  • 2016-06-10
  • 2013-04-26
  • 1970-01-01
  • 1970-01-01
  • 2011-07-23
  • 2016-02-13
相关资源
最近更新 更多