spring里有一个很好玩的toString方法
在spring容器启动的时候,会加载bean的定义信息,在解析bean信息之前呢,会创建一个实体解析器(主要目的是为加载spring解析的配置节点对象以xml为例,就是一些dtd或者xsd的规范)

在idea里debug跟踪的时候依次会看到去创建一个可插拔式的解析器PluggableSchemaResolver类

调用构造方法里没有对schamaMappings做任何属性赋值。

但是我们debug点开这个类可以很明显的看到schamaMappings集合里有很多元素,很奇怪吧?

主要原因是idea在展示对象的时候会调用toString方法,而PluggableSchemaResolver类中toString方法恰好会去调用对schamaMappings属性赋值的操作

很奇怪吧,spring的开发大佬们为啥要去做这件事件,完全想不通.............
有没有大佬解释一下哇

浙公网安备 33010602011771号