2015-06-16 2 views
0

Я действительно настроил сопоставление аннотаций, но когда я настраиваю xml-отображение, все пошло не так.Spring MVC: ошибка отображения xml

Журнал.

org.springframework.beans.factory.BeanCreationException: Ошибка при создании боба с именем 'HomeController': Инъекция autowired зависимости не удался; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Не удалось автополе field: private spider.mathserver.service.CategoryService spider.mathserver.controller.HomeController.categoryService; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именем «cateogryServiceImpl»: не удалось выполнить инъекцию автоуведомленных зависимостей; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Не удалось автополе поле: spider.mathserver.dao.CategoryDao spider.mathserver.service.impl.CateogryServiceImpl.categoryDao; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка создания bean-компонента с именем 'categoryDaoImpl': не удалось выполнить инъекцию автоуведомленных зависимостей; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Не удалось autowire field: private org.hibernate.SessionFactory spider.mathserver.dao.impl.ObjectDaoImpl.sessionFactory; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем sessionFactory, определенным в ресурсе ServletContext [/WEB-INF/spring/appServlet/servlet-context.xml]: вызов метода init был неудачным; Вложенное исключение - org.hibernate.MappingNotFoundException: resource: Category.hbm.xml не найден на org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues ​​(AutwiredAnnotationBeanPostProcessor.java:292) на org.springframework.beans.factory.support. AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:1185) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:537) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java: 475) в org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:302) в org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:228) в org.springframework. beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.jav a: 298) на org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:193) на org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:703) на org.springframework .context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:760) в org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:482) в org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext (FrameworkServlet.java : 658) в org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext (FrameworkServlet.java:624) в org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext (FrameworkServlet.java:672) в org.springframework.web.servlet. FrameworkServlet.initWebApplicationContext (FrameworkServlet.java:543) в org.springframework.web.servlet.FrameworkServlet.initServletBean (Fr ameworkServlet.java:484) в org.springframework.web.servlet.HttpServletBean.init (HttpServletBean.java:136) в javax.servlet.GenericServlet.init (GenericServlet.java:158) на org.apache.catalina.core.StandardWrapper .initServlet (StandardWrapper.java:1231) на org.apache.catalina.core.StandardWrapper.loadServlet (StandardWrapper.java:1144) на org.apache.catalina.core.StandardWrapper.allocate (StandardWrapper.java:817) в org. apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:135) в org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:106) в org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase. java: 502) на org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:142) на org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:79) на org.apache.catalina.valves .AbstractAccessLogValve.invoke (AbstractAccessLogValve.java:617) в org.apache.catalina.core.StandardEngineValve.invoke (StandardEngi neValve.java:88) у org.apache.catalina.connector.CoyoteAdapter.службы (CoyoteAdapter.java:518) на org.apache.coyote.http11.AbstractHttp11Processor.process (AbstractHttp11Processor.java:1091) на org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process (AbstractProtocol.java:668) на org.apache .tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1521) на org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.run (NioEndpoint.java:1478) на java.util.concurrent.ThreadPoolExecutor .runWorker (Неизвестный источник) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (Неизвестный источник) в org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) в java.lang. Thread.run (Unknown Source)

hibernate.cfg.xml

<mapping resource="spider/mathserver/hbm/Category.hbm.xml" /> 
      <mapping resource="spider/mathserver/hbm/Anwser.hbm.xml" /> 
      <mapping resource="spider/mathserver/hbm/Wiki.hbm.xml" /> 
      <mapping resource="spider/mathserver/hbm/Question.hbm.xml" /> 
      <mapping resource="spider/mathserver/hbm/Topic.hbm.xml" /> 

web.xml

<display-name>Sample Spring Maven Project</display-name> 

    <servlet> 
     <servlet-name>appServlet</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 

    <servlet-mapping> 
     <servlet-name>appServlet</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 

сервлет-context.xml

<context:component-scan base-package="spider.mathserver" />  <!-- 
    <mvc:annotation-driven /> --> 

     <beans:bean id="propertyConfigurer"   class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" 
     p:location="/WEB-INF/jdbc.properties" /> 

     <beans:bean id="dataSource"   class="org.springframework.jdbc.datasource.DriverManagerDataSource" 
     p:driverClassName="${jdbc.driverClassName}" 
    p:url="${jdbc.databaseurl}"  p:username="${jdbc.username}" 
    p:password="${jdbc.password}" /> 


     <beans:bean id="sessionFactory"   class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
     <beans:property name="dataSource" ref="dataSource" /> 
     <beans:property name="configLocation"> 
      <beans:value>classpath:hibernate.cfg.xml</beans:value> 
     </beans:property>  <!-- <property name="configurationClass"> --> 
     <!-- <value>org.hibernate.cfg.AnnotationConfiguration</value> --> 
     <!-- </property> --> 

      <beans:property name="packagesToScan">   <beans:list> 
        <beans:value>spider.mathserver.hbm</beans:value>   </beans:list>  </beans:property> 
        <beans:property name="hibernateProperties">    <beans:props> 
        <beans:prop key="hibernate.dialect">${jdbc.dialect}</beans:prop> 
        <beans:prop key="hibernate.show_sql">true</beans:prop>   </beans:props>  </beans:property> 

     </beans:bean> 


     <tx:annotation-driven /> <beans:bean id="transactionManager"   class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
     <beans:property name="sessionFactory" ref="sessionFactory" /> 
    </beans:bean> 

ответ

0

nested exception is org.hibernate.MappingNotFoundException: resource: Category.hbm.xml not found, файл отображения не найден. Потому что отображение внутри вашего hibernate.cfg.xml указывает на неправильное место.

Попробуйте положить отображение под WEB-INF/spider/mathserver/hbm/ и изменить

<mapping resource="classpath:spider/mathserver/hbm/Category.hbm.xml" /> 
<mapping resource="classpath:spider/mathserver/hbm/Anwser.hbm.xml" /> 
<mapping resource="classpath:spider/mathserver/hbm/Wiki.hbm.xml" /> 
<mapping resource="classpath:spider/mathserver/hbm/Question.hbm.xml" /> 
<mapping resource="classpath:spider/mathserver/hbm/Topic.hbm.xml" /> 
Смежные вопросы