使用mybatis得不到SqlSessionFactory,哪位大神帮帮忙?

我在网上查过了,大家都是得不到sqlsession,我直接factory都得不到

这是配置文件

 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
        <environment id="development">
        <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
            <property name="driver" value="oracle.jdbc.driver.OracleDriver"/>
            <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
            <property name="username" value="luoyang"/>
            <property name="password" value="java"/>
            </dataSource>
        </environment>
    </environments>
   
    <mappers>
        <mapper resource="com/mapper/StudentMapper.xml"/>
</configuration>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mapper.IStudentDao">
        <resultMap type="com.bean.Student" id="rst_stu">
                <id column="sid" property="sid"/>
                <result column="sname" property="sname"/>
                <result column="sex" property="sex"/>
                <result column="address" property="address"/>
                <result column="birthday" property="birthday"/>
                <result column="cid" property="cid"/>
        </resultMap>
        <insert id="save" parameterType="com.bean.Student">
       insert into student values (seq_sid.nextval,#{sname},#{sex},#{address},#{birthday},#{cid})
        </insert>
        <update id="update" parameterType="com.bean.Student">
       update student set sname=#{sname},sex=#{sex},address=#{address},birthday=#{birthday},cid=#{cid} 
       where sid=#{sid}
        </update>
        <delete id="delById" parameterType="int">
       delete student set where sid=#{sid}
        </update>
        <select id="findById" parameterType="int" resultType="com.bean.Student">
        select * from student where sid=#{sid}
        </select>
        <select id="findAll"  resultType="com.bean.Student">
        select * from student where 1=1 order by sid
        </select>
        <select id="doinit"  resultType="com.bean.Clazz">
        select * from clazz where 1=1 order by cid
        </select>


</mapper>
 package com.test;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.bean.*;
import com.mapper.*;
public class StudentTest {

    public static void main(String[] args) {
        SqlSessionFactory sessionFactory=null;
        SqlSession session = null;
        //获取sqlsessionfactory 对象
        try {
            InputStream is=Resources.getResourceAsStream("mybaties.xml");
            System.out.println(is.available());
            sessionFactory=new SqlSessionFactoryBuilder().build(is);
            System.out.println(sessionFactory);
            //获取sqlsession对象
            session=sessionFactory.openSession();
            Student st=new Student("高原", "男","运城",new Date(),1);
            int row=session.insert("com.mapper.IStudentDao.save", st);
            if(row>0){
                session.commit();
                System.out.println("保存成功");
            }else{
                System.out.println("保存失败");
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            session.close();
        }
    }


}

demo

import org.apache.ibatis.session.SqlSessionFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.GenericXmlApplicationContext;

import com.fly.demo.service.UserService;

/**
 * 
 * MainRun
 * 
 * @author 00fly
 * @version [版本号, 2018-11-01]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class MainRun
{
    private static Logger logger = LoggerFactory.getLogger(MainRun.class);

    /**
     * main
     * 
     * @param args
     * @see [类、类#方法、类#成员]
     */
    public static void main(String[] args)
    {
        GenericXmlApplicationContext context = new GenericXmlApplicationContext();
        context.setValidating(false);
        context.load("classpath:/spring/spring.xml");
        context.refresh();
        int i = 1;
        for (String beanName : context.getBeanDefinitionNames())
        {
            logger.info("{}.\t{}", i, beanName);
            i++;
        }
        SqlSessionFactory sessionFactory = context.getBean(SqlSessionFactory.class);
        logger.info("{}", sessionFactory.openSession());
        UserService userservice = context.getBean(UserService.class);
        logger.info("{}", userservice.selectById(1L));

        context.close();
    }
}

配置文件不是mybatis.cfg.xml吗?