问答详情
源自:4-1 使用集成测试Service逻辑

运行testGetSeckillList这个测试方法的时候报这个错

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring/spring-dao.xml]: Invocation of init method failed; nested exception is org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 29; 文档根元素 "configuration" 必须匹配 DOCTYPE 根 "null"。

提问者:helinz 2016-06-28 10:40

个回答

  • helinz
    2016-06-29 09:12:31

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:context="http://www.springframework.org/schema/context"
          xsi:schemaLocation="
          http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.0.xsd"
          default-lazy-init="false">
      <!--配置整合mybatis过程-->
       <!--1:配置数据库相关参数properties的属性: ${url}-->
      <context:property-placeholder location="classpath:jdbc.properties"/>
      <!--2:数据库连接池-->
      <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
         <!-- 配置连接池属性-->
         <property name="driverClass" value="${driver}"/>
         <property name="jdbcUrl" value="${url}"/>
         <property name="user" value="${username}"/>
         <property name="password" value="${password}"/>

         <!-- c3p0连接池的私有属性 -->
         <property name="maxPoolSize" value="30"/>
         <property name="minPoolSize" value="10"/>
         <!--关闭连接后不自动commit-->
         <property name="autoCommitOnClose" value="false"/>
         <!--获取连接超时时间-->
         <property name="checkoutTimeout" value="1000"/>
         <!--获取连接失败重试次数-->
         <property name="acquireRetryAttempts" value="2"/>
      </bean>

      <!--约定大于配置-->
      <!--3:配置SqlSessionFactory对象-->
      <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
         <!--注入数据库连接池-->
         <property name="dataSource" ref="dataSource"/>
         <!-- 配置MyBatis全局配置文件:mybatis-config.xml-->
         <property name="configLocation" value="classpath:mybatis-config.xml"/>

         <!--扫描entity包 使用别名 org.seckill.entity.Seckill Seckill-->
         <property name="typeAliasesPackage" value="org.seckill.entity"/>

         <!--扫描sql配置文件:mapper需要的xml文件-->
         <property name="mapperLocations" value="classpath:mapper/*.xml"/>
      </bean>

      <!-- 4:配置扫描Dao接口包 动态实现Dao接口 注入到spring容器中-->
      <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
         <!-- 注入sqlSessionFactory-->
         <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
         <!--给出需要扫描Dao接口包-->
         <property name="basePackage" value="org.seckill.dao"/>
      </bean>
    </beans>

  • 笑靥无伤
    2016-06-28 16:52:15

    没有找到 对应的bean  看文件xml 配置