XmlWebApplicationContext - Exception encountered during context initialization

本文深入探讨了Spring框架中常见的启动异常问题,特别是关于sessionFactory、studentDao和studentService的Bean创建失败,以及mappingDirectoryLocations配置错误导致的问题。通过详细的错误堆栈分析,提供了可能的解决方案,帮助开发者快速定位并解决类似问题。

WARN [org.springframework.web.context.support.XmlWebApplicationContext] - Exception encountered during context initialization - cancelling refresh attempt
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘studentService’ defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean ‘studentDao’ while setting bean property ‘dao’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘studentDao’ defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean ‘mySessionFactory’ while setting bean property ‘sessionFactory’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘mySessionFactory’ defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/com/demo/beans]] does not denote a directory
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1481)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
at org.springframework.beans.factory.support.AbstractBeanFactory1.getObject(AbstractBeanFactory.java:305)atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196)atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)atorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:834)atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)atorg.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)atorg.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)atorg.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4685)atorg.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5146)atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)atorg.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)atorg.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)atorg.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)atorg.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:631)atorg.apache.catalina.startup.HostConfig1.getObject(AbstractBeanFactory.java:305) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:834) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4685) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5146) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705) at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:631) at org.apache.catalina.startup.HostConfig1.getObject(AbstractBeanFactory.java:305)atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196)atorg.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)atorg.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:834)atorg.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)atorg.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:446)atorg.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)atorg.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4685)atorg.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5146)atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)atorg.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)atorg.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)atorg.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)atorg.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:631)atorg.apache.catalina.startup.HostConfigDeployDescriptor.run(HostConfig.java:1831)
at java.util.concurrent.ExecutorsRunnableAdapter.call(Executors.java:511)atjava.util.concurrent.FutureTask.run(FutureTask.java:266)atorg.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)atjava.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)atorg.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:526)atorg.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:425)atorg.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)atorg.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)atorg.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)atorg.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)atorg.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)atorg.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)atorg.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)atorg.apache.catalina.core.ContainerBaseRunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112) at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:526) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:425) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1576) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423) at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBaseRunnableAdapter.call(Executors.java:511)atjava.util.concurrent.FutureTask.run(FutureTask.java:266)atorg.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)atjava.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)atorg.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:526)atorg.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:425)atorg.apache.catalina.startup.HostConfig.start(HostConfig.java:1576)atorg.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)atorg.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)atorg.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)atorg.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)atorg.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)atorg.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841)atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)atorg.apache.catalina.core.ContainerBaseStartChild.call(ContainerBase.java:1384)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:633)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:344)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:475)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘studentDao’ defined in class path resource [applicationContext.xml]: Cannot resolve reference to bean ‘mySessionFactory’ while setting bean property ‘sessionFactory’; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘mySessionFactory’ defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Mapping directory location [ServletContext resource [/com/demo/beans]] does not denote a directory
这个问题怎么解决,我已经反复检查过我sessionFactory的mappingDirectoryLocations配置了,到底出了啥问题
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值