Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法自动连线字段:Spring Hibernate_Java_Spring_Hibernate_Spring Mvc_Exception - Fatal编程技术网

Java 无法自动连线字段:Spring Hibernate

Java 无法自动连线字段:Spring Hibernate,java,spring,hibernate,spring-mvc,exception,Java,Spring,Hibernate,Spring Mvc,Exception,以下是我在尝试将Hibernate与SpringMVC项目集成并添加Autowired功能时遇到的一个例外 例外情况: package com.inspireme.boimpl; @Service public class UserBOImpl implements UserBO { private static final Logger LOGGER = Logger.getLogger(UserBOImpl.class); @Autowired private

以下是我在尝试将Hibernate与SpringMVC项目集成并添加Autowired功能时遇到的一个例外

例外情况:

package com.inspireme.boimpl;

@Service
public class UserBOImpl implements UserBO {

    private static final Logger LOGGER = Logger.getLogger(UserBOImpl.class);

    @Autowired
    private UserDAO userDAO;
严重:向侦听器发送上下文初始化事件时发生异常 类实例 org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException:错误 创建名为“userBOImpl”的bean:自动连线的注入 fai-led;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法 autowire字段:private com.inspireme.dao.UserDA O com.inspireme.boimpl.UserBOImpl.userDAO;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建名为“userDAOImpl”的bean:自动连线的注入 依赖关系失败;嵌套异常是 org.springframework.beans.factory.beanCreationException:无法 autowire字段:private org.hibernate.SessionFactory com.inspireme.daoimpl.UserDAOImpl.sessionFactory;嵌套异常是 j ava.lang.NoClassDefFoundError:Lorg/hibernate/cache/CacheProvider

Dispatcher servlet.xml

 <!-- Enable Annotation based configuration -->
 <context:annotation-config />

 <!-- Base package -->
 <context:component-scan base-package="com.inspireme." />

 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix">
        <value>/WEB-INF/jsp/</value>
      </property>
      <property name="suffix">
        <value>.jsp</value>
      </property>
 </bean>

 <!-- Database properties configuration - START -->
 <bean id="propertyConfigurer"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" 
    p:location="WEB-INF/classes/properties/database.properties">
 </bean>
 <!-- Database properties configuration - END -->

 <!-- Accessing DB with available credentials - START -->
 <bean id="dataSource"
    class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
    p:driverClassName="${jdbc.driverClassName}"
    p:url="${jdbc.databaseurl}" p:username="${jdbc.username}"
    p:password="${jdbc.password}">
 </bean>
 <!-- Accessing DB with available credentials - END -->

<!-- Hibernate Settings - START -->
    <bean id="sessionFactory"
       class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
       <property name="dataSource" ref="dataSource"></property>
       <property name="configLocation">
           <value>classpath:hibernate.cfg.xml</value>
       </property>
       <property name="configurationClass">
           <value>org.hibernate.cfg.AnnotationConfiguration</value>
       </property>
       <property name="hibernateProperties">
           <props>
               <prop key="hibernate.dialect">${jdbc.dialect}</prop>
               <prop key="hibernate.show_sql">true</prop>
           </props>
       </property>
   </bean>
<!-- Hibernate Settings - END -->

 <mvc:resources mapping="/resources/**" location="/resources/inspiremetheme/" />

 <mvc:annotation-driven/>

 <tx:annotation-driven />

 <!-- Start of Autowired beans -->
 <bean id="userBO" class="com.inspireme.boimpl.UserBOImpl"></bean>
 <bean id="userDAO" class="com.inspireme.daoimpl.UserDAOImpl"></bean>
 <!-- End of Autowired beans -->

 <bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
        <mapping class="com.inspireme.dto.UserDTO"></mapping>
    </session-factory>
</hibernate-configuration>
服务类别:

package com.inspireme.boimpl;

@Service
public class UserBOImpl implements UserBO {

    private static final Logger LOGGER = Logger.getLogger(UserBOImpl.class);

    @Autowired
    private UserDAO userDAO;
存储库类

package com.inspireme.controller;

@Controller
@RequestMapping("/")
public class InspireMeController {

    public ApplicationContext applicationContext;

    private static final Logger LOGGER = Logger.getLogger(InspireMeController.class);

    @Autowired
    private UserBO userBO;
package com.inspireme.daoimpl;

@Repository
public class UserDAOImpl implements UserDAO {

    @Autowired
    private SessionFactory sessionFactory;
既然这3个bean都是在dispatcher-servlet.xml文件中定义的,为什么我会遇到这个异常呢


我指的是集成Hibernate。

java.lang.NoClassDefFoundError:Lorg/Hibernate/cache/CacheProvider
jar缺失


你有一部分是对的。。有一个罐子不匹配。。如本文所述。。howtodoinjava.com/2013/12/08/…。但是在添加这个之后,我得到了一个错误,“WEB-INF/inspireme dispatcher servlet.xml]:调用init方法失败;嵌套异常是java.io.FileNotFoundException:类路径esource[hibernate.cfg.xml]无法解析为URL,因为它不存在”。请看我的文件夹结构,让我知道如何在这里给出路径


不确定构建在您的情况下如何工作,但请尝试
classpath:/hibernate/hibernate.cfg.xml
classpath:hibernate/hibernate.cfg.xml
。或者最好检查该文件在部署的war中的确切位置。

java.lang.NoClassDefFoundError:Lorg/hibernate/cache/CacheProvider
,jar丢失。您部分正确。。有一个罐子不匹配。。正如这里所说的。但是在添加这个之后,我得到了一个错误,“WEB-INF/inspireme dispatcher servlet.xml]:调用init方法失败;嵌套异常是java.io.FileNotFoundException:类路径esource[hibernate.cfg.xml]无法解析为URL,因为它不存在”。请查看我的文件夹结构,让我知道如何在这里给出路径。不完全确定构建在您的情况下如何工作,但请尝试
classpath:/hibernate/hibernate.cfg.xml
classpath:hibernate/hibernate.cfg.xml
。或者最好检查该文件在部署的war.Yep中的WEB-INF/classes中的确切位置。工作。。但我还有一个例外。。请给我一些时间让我检查一下。现在工作得很好。。你能不能加上这个作为我能接受的答案?也谢谢你的快速回复。我花了将近两个小时来解决这个问题。