【问题标题】:Error with spring bean弹簧豆错误
【发布时间】:2012-12-22 13:06:49
【问题描述】:

更新:添加 Maven 依赖项 *更新:通过添加 maven 依赖解决了这个错误 *

美好的一天。 我有这部分 AplicationContext.xml

    <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="namingStrategy">
        <ref bean="namingStrategy"/>
    </property>
    <property name="mappingResources">
        <list>
            <!--<value>genericdaotest/domain/Person.hbm.xml</value>-->
        </list>
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.hbm2ddl.auto">create</prop>
        </props>
    </property>
    <property name="dataSource">
        <ref bean="dataSource"/>
    </property>
</bean>

用于 Spring 和 Hibernate 的 Maven 开发

  <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>3.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>3.1.1.RELEASE</version>
    </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>2.0.6</version>
        </dependency>


      <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.1.2.Final</version>
        </dependency>

但是,当我启动我的应用程序时,它告诉我这个错误

Cannot find class [org.springframework.orm.hibernate3.LocalSessionFactoryBean] for bean with name 'sessionFactory' defined in class path resource [WEB-INF/applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.orm.hibernate3.LocalSessionFactoryBean

但是我使用的是hibernate4。它有什么样的魔法? =) 我已经尝试重新部署应用程序,但结果是一样的

【问题讨论】:

  • 您使用的是哪个版本的 Spring?您可以发布您的 Maven 依赖项吗?
  • 更新。我使用 Intellij Idea 12,并添加了支持框架 spring 和 hibernate,所以在项目的 lib 文件夹中添加了一些 jar 文件
  • 尝试添加Spring ORM依赖:spring-orm
  • 我可以建议你放弃 Spring 吗? stackoverflow.com/questions/14219799/…

标签: java spring hibernate orm


【解决方案1】:

你错过了 Spring-ORM 模块:

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
        <version>3.1.1.RELEASE</version>
    </dependency>

Check the packages list,它包含org.springframework.orm.hibernate3包和你需要的类。

另外,我认为这个类是错误的,不应该是hibernate4.LocalSessionFactoryBean吗?你在使用注解吗?还是 XML?

【讨论】:

  • 它有帮助,非常感谢,但又给我带来了另一个错误:在类路径资源 [WEB-INF/applicationContext.xml] 中创建名称为“sessionFactory”的 bean 时出错:bean 的初始化失败;嵌套异常是 java.lang.NoClassDefFoundError: org/hibernate/cache/CacheProvider
【解决方案2】:

在 spring 应用程序上下文中更改会话工厂以使用 hibernate 4 作为 maven 依赖状态。

org.springframework.orm.hibernate4.LocalSessionFactoryBean

并添加 spring-orm 依赖项

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-20
    • 2015-10-22
    • 2017-12-31
    • 2013-12-06
    • 2011-07-25
    • 2012-01-19
    相关资源
    最近更新 更多