Spring启动过程中,没有任何异常日志也不打印(记DruidDataSource初始化成功后程序日志不再打印)

环境:Spring + Druid + Mybatis
异常情况:dataSource初始化成功后,程序仍然是运行状态,日志不再打印,并且没有任务异常信息打印
在这里插入图片描述
为什么出现这种情况?如何去发现哪里出现了异常?
出现这种情况的原因有很多,可能是某个Bean初始化时失败了,也可能是Mybatis解析mapper.xml时出现了异常,或者其他我还未遇见的原因,看源码时发现抛异常了,只是某个环节没有将异常打印出来。
想要找到异常的根源,最简单的方法就是去Debug一步一步调试。

我遇到的情况是Mybatis解析mapper.xml文件时出现了异常,具体情况:
在这里插入图片描述在这里插入图片描述
定义mapper.xml时,出现了同名的mapper文件,并且各文件中定义了相同的idresultMapMybatismapper.xml文件可以看做Dao层的实现,Dao层不支持方法重载,并且对于相同名称的mapper.xml文件,文件中也不能有id相同的sql片段,当然同一个文件中也不能有相同idsql片段。

我调试的过程:

  1. 首先我并不知道出现了什么异常,但是我知道程序最后打印的地方是OK的,即com.alibaba.druid.pool.DruidDataSource:947 - {dataSource-1} inited
  2. 找到DruidDataSource947行所在的方法,从这个方法开始调试
  3. 重启程序,接着一步一步调试,直到走到抛出异常的代码
    在这里插入图片描述
    如果Spring没有成功启动,并且没有任何异常时,大多数情况都是初始化Bean时抛出了异常,由于某些原因导致异常信息没被打印,我们可以直接找到AbstractAutowireCapableBeanFactory#doCreateBean方法,在catch处打断点,一般情况下都有异常信息的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值