Error creating bean with name ‘namedParameterJdbcTemplate‘ defined in class path resource 已解决

出现这个报错。大概率就是你的版本冲突了,依赖冲突了

说明我遇到问题的环境

springcloudalibaba + springboot   +  mybatis 的项目

springboot的版本为  2.3.2.RELEASE

springcloudalibaba版本  2.2.6.RELEASE

springcloud版本  Hoxton.SR9

不能更改本版的,因为和springcloualibaba 版本对应

我为什么出现这个问题

在整合 mybaits的时候,需要使用到依赖  


    <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.2.0</version>
        </dependency>

​

就是这个依赖出现了问题

 

相信有maven基础的都会想到进行排除掉这个依赖,我也这么做了,但是依旧无效,依然会报错

 Error creating bean with name 'namedParameterJdbcTemplate' defined in class path resource

发现排除也无法解决这个问题,我就尝试着,我能不能找到 一个mybatis启动依赖中依赖springboot项和我项目的springboot项目版本一致的 版本,这样就可能可以避免冲突

 

在下了多个版本进行查看,找到版本最接近的mybaits启动项依赖,2.1.3 中的springboot版本为2.3.0 和 我的 2.3.2 相差不大。然后我就开始尝试着运行

执行成功

 而且版本还是在 springboot 2.3.2 

在多次尝试后还是有时候,会出现springboot版本回到 2.3.0 ! 因为我没有进行排除掉mybaits启动依赖的springboot依赖 

进行排除!

  <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

这样版本一直保持在2.3.2 了

总结

为什么在mybatis高版本中,进行了排除springboot的启动项,还是会出现报错,不能恢复,我个人的理解是,在mybaits启动项中有严格的版本依赖规则,如果版本对应相差太大,就会出现,项目中的springboot依赖版本和mybatis中其他依赖的关系,不能达到互补的操作,但是我将 项目中springboot版本的依赖和mybaits依赖中springboot依赖的版本,调到了相近的情况了,就可能完成了互补,所以就报错了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值