美文网首页
IDEA 调试 Mybatis源码的一个小坑

IDEA 调试 Mybatis源码的一个小坑

作者: 吃竹子的程序熊 | 来源:发表于2020-03-16 20:34 被阅读0次

IDEA 调试 Mybatis源码的一个小坑

问题描述

在调试Mybatis懒加载功能相关的代码时,不主动调用懒加载属性对应的方法,在debug模式中,会加载懒加载的属性,但是普通模式中不会加载懒加载的属性。

解决思路

看到这个问题,在mybatis源码的javassisat代理中增加代码,打印出拦截方法的名称以及打印出堆栈信息,发现触发懒加载的方法为toString()方法,但是我的代码中并没有调用该方法,同时根据debug模式和常规模式的不同,考虑是不是IDEA在debug源码的过程中调用了toString()方法,抱着这个疑问,百度了一下,发现,IDEA有一个设置settings->Build,Execution,Deploynent->Debugger->Data view->Java-> Enable 'toString()' object view默认勾选了,且选择了For all classes that override 'toString()' method.

解决方案

在IDEA中配置settings->Build,Execution,Deploynent->Debugger->Data view->Java-> Enable 'toString()' object view,禁用该功能,或者不再选择For all classes that override 'toString()' method.,选择For classes from the list

相关文章

网友评论

      本文标题:IDEA 调试 Mybatis源码的一个小坑

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