Java 错误:org.springframework.web.context.ContextLoader-上下文初始化失败org.springframework.beans.factory.BeanCreationException

Java 错误:org.springframework.web.context.ContextLoader-上下文初始化失败org.springframework.beans.factory.BeanCreationException,java,xml,spring,hibernate,spring-mvc,Java,Xml,Spring,Hibernate,Spring Mvc,我正在用Tomcat7开发web站点(Spring3.1.1),但它给出了一个错误 错误:org.springframework.web.context.ContextLoader-上下文初始化失败 org.springframework.beans.factory.BeanCreationException:创建名为“sqlSessionFactory”的bean时出错,该bean在类路径资源[config/applicationContext.xml]中定义:调用init方法失败;嵌套异常

我正在用Tomcat7开发web站点(Spring3.1.1),但它给出了一个错误

错误:org.springframework.web.context.ContextLoader-上下文初始化失败
org.springframework.beans.factory.BeanCreationException:创建名为“sqlSessionFactory”的bean时出错,该bean在类路径资源[config/applicationContext.xml]中定义:调用init方法失败;嵌套异常为org.springframework.core.NestedIOException:未能解析配置资源:类路径资源[config/SqlMapConfig.xml];嵌套异常为org.apache.ibatis.builder.BuilderException:解析SQL映射器配置时出错。原因:java.lang.NullPointerException
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:567)
位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
位于org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385)
位于org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)
位于org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
位于org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5017)
位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5531)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1574)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1564)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

在java.lang.Thread.run(Thread.java:745)
配置就是配置,试着从谷歌上找到它。 它看起来像下面这样

<configuration>
<settings>
    <setting name="cacheEnabled"                value="true" />
    <setting name="multipleResultSetsEnabled"   value="true" />
    <setting name="useColumnLabel"              value="true" />
    <setting name="useGeneratedKeys"            value="false" />
    <setting name="defaultExecutorType"         value="SIMPLE" />
    <setting name="defaultStatementTimeout"     value="25000" />
    <setting name="jdbcTypeForNull"             value="NULL" />
</settings>

<typeAliases>
</typeAliases>

</configuration>

然后再次检查SqlSessionFactorybean配置

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
       <property name="dataSource" ref="dataSource" />
       <property name="configLocation" value="classpath:/configuration/mybatis-config.xml"/>
       <property name="mapperLocations" value="classpath*:sample/config/mappers/**/*.xml" />
</bean>


我认为,这就是构建失败的原因。

正如jamesBlake正确地提到的,配置文件就是配置。您将映射器文件作为配置提供,ibatis无法将其作为配置进行解析

配置文件是定义ibatis设置和别名(如果有)的文件,可在映射器文件中使用


Mapper文件是您实际编写查询的文件。您可以拥有任意多个Mapper文件。

谢谢您的回答。我会试着找到它,再检查一下我的豆子。非常感谢。