美文网首页
【踩坑】mybatis-spring集成失败

【踩坑】mybatis-spring集成失败

作者: giraffecode9668 | 来源:发表于2019-05-28 00:32 被阅读0次

    2019-05-28

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [config/spring-context.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1762)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
    ...
    Caused by: java.lang.NullPointerException
        at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:446)
        at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:408)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1821)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1758)
        ... 64 more
    
    
    

    mybatis-spring集成过程出现错误,报空指针异常java.lang.NullPointerException,查看AbstractAutowireCapableBeanFactory.java:1762可以发现RootBeanDefinition为null导致,所以推测是RootBeanDefinition注入失败。

    因为spring+springMVC正常,所以spring注入功能是正常的,并且项目中使用mybatis的插件mybatis-generator正常,所以mybatis正常,所以最后推测是mybatis-spring的jar包有问题,查看之前的项目,发现之前用的是1.3.2,目前用的是2.0.0,查看相关依赖支持

    版本 javax.servlet-api
    1.3.2 3.0.1
    2.0.0 4.0.1

    我用的是本地tomcat,tomcat自带的版本应该不足4.0.1导致我使用2.0.0失败,将mybatis-spring版本用1.3.2成功

        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
        <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis-spring</artifactId>
          <version>1.3.2</version>
        </dependency>
    

    所以啊,使用maven库时不要盲目用新的,用使用较多的比较保险~~~

    相关文章

      网友评论

          本文标题:【踩坑】mybatis-spring集成失败

          本文链接:https://www.haomeiwen.com/subject/ldultctx.html