ssm Junit测试报错,有哪位大神能解决吗,都困扰了我三天了!
EBUG [main] - Invoking afterPropertiesSet() on bean with name 'sqlSessionFactory'
 WARN [main] - Exception encountered during context initialization - cancelling refresh attempt
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'adminService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'adminDao' defined in file [D:\Workspace\hrms_4\target\classes\com\lvguoxiang\dao\AdminDao.class]: Cannot resolve reference to bean 'sqlSessionFactory' while setting bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring-mybatis.xml]: Invocation of init method failed; nested exception is java.io.FileNotFoundException: class path resource [classpath*:mybatis-config.xml] cannot be opened because it does not exist
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:311)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
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.AbstractBeanFactory$1.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.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:125)
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:60)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:109)
at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:261)
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98)
at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116)
at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:117)
at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:83)
at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:228)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:217)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:276)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:278)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:236)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:87)

解决方案 »

  1.   

    nested exception is java.io.FileNotFoundException: class path resource [classpath*:mybatis-config.xml] cannot be opened because it does not exist.......mybatis-config.xml是放在哪里?
      

  2.   

    你的文件名写错了  改一下文件  mybatis  写成了 myabtis 
      

  3.   

    谢谢你啊,粗心了,]不过还是报错和原来一样啊
    [img=https://img-bbs.csdn.net/upload/201707/27/1501122145_840645.png][/img
      

  4.   

    这是dao
    package com.lvguoxiang.dao;import java.util.List;
    import java.util.Map;import org.springframework.stereotype.Repository;import com.lvguoxiang.domain.Admin;
    @Repository
    public interface AdminDao {
    public Admin login(Admin admin);    public List<Admin> findAdmins(Map<String, Object> map);   
        public Integer getCount(Map<String, Object> map);    
        public Integer addAdmin(Admin admin);    
        public Integer updateAdmin(Admin admin);   
        public Integer deleteAdmin(Integer id);}
    mapper
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://www.w3.org/2002/xmlspec/dtd/2.10/xmlspec.dtd">
    <mapper namespace="com.lvguoxiang.dao.AdminDao">
    <resultMap type="Admin " id="AdminResult">
    <id porperty="id" column="admin_id"/>
    <result property="username" column="username"/>
    <result property="password" column="password"/>
    <result property="role_name" column="role_name"/>
    </resultMap><select id="login" parameterType="Admin" resultMap="AdminResult">
    select * from admin_tb where username=#{username} and password=#{password} limit 1;
    </select>
    <!-- 根据条件查询管理员 -->
        <select id="findAdmins" parameterType="Map" resultMap="AdminResult">
            select * from admin_tb
            <where>
                <if test="username!=null and username!='' ">
                    username like #{username}
                </if>
            </where>
        </select>
        <!-- 根据条件查询管理员的人数 -->
        <select id="getCount" parameterType="Map" resultType="Integer">
            select count(*) from admin_tb
            <where>
                <if test="username!=null and username!='' ">
                    username like #{username}
                </if>
            </where>
        </select>
        <!-- 添加管理员 -->
        <insert id="addAdmin" useGeneratedKeys="true" keyProperty="admin_id">
            insert into admin_tb(username,password)
            values(#{username},#{password})
        </insert>
        <!-- 修改管理员 -->
        <update id="updateAdmin" parameterType="Admin">
            update admin_tb set
            username=#{username},password=#{password} where admin_id=#{id}
        </update>
        <!-- 删除管理员 -->
        <delete id="deleteAdmin" parameterType="Integer">
            delete from admin_tb where
            admin_id=#{id}
        </delete>
    </mapper>
    spring-mybatis.xml
    <?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:p="http://www.springframework.org/schema/p"
        xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="
              http://www.springframework.org/schema/beans
              http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
              http://www.springframework.org/schema/context
              http://www.springframework.org/schema/context/spring-context-4.2.xsd
              http://www.springframework.org/schema/tx
              http://www.springframework.org/schema/tx/spring-tx-4.2.xsd">    <!-- 自动扫描有 Spring 相关注解的类,并把这些类注册为 bean --> 
        <context:component-scan base-package="com.lvguoxiang" />    <context:property-placeholder location="classpath:jdbc.properties" />
        <!-- 配置数据源 -->
        <bean id="dataSource"
            class="org.springframework.jdbc.datasource.DriverManagerDataSource">
            <property name="driverClassName" value="${jdbc.driver}" />
            <property name="url" value="${jdbc.url}" />
            <property name="username" value="${jdbc.username}" />
            <property name="password" value="${jdbc.password}" />
        </bean>
        <!-- MyBatis 的 SqlSession 的工厂,并引用数据源,扫描 MyBatis 的配置文件 -->
        <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
            <property name="dataSource" ref="dataSource"></property>
            <property name="mapperLocations" value="classpath:/mappers/*.xml"></property>
            <property name="configLocation" value="classpath:mybatis-config.xml" />
        </bean>
       
        <!-- MyBatis 自动扫描加载 Sql 映射文件/接口 -->
        <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"
            p:basePackage="com.lvguoxiang.dao" p:sqlSessionFactoryBeanName="sqlSessionFactory">    </bean>
        <!-- JDBC 事务管理器 -->
        <bean id="txManager"
            class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource" ref="dataSource"></property>
        </bean>
        <!-- 启用支持 annotation 注解方式事务管理 -->
        <tx:annotation-driven transaction-manager="txManager" /></beans>
      

  5.   

    解决了么   你这个还是因为mybatis-config.xml这个文件找不到的原因  你可以再看一下
      

  6.   

    要么就是你mybatis.xnl写错了   。要么就是你的@service的包导入错了
     
      

  7.   

    你连接的如果不是本地MYSQL服务器,那你就要问你项目负责人MYSQL配置了,他们会有一些配置东西不会展示给你的