Я действительно настроил сопоставление аннотаций, но когда я настраиваю 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>