spring源码 自定义beanDefinition的添加逻辑
首先我自定义了两个beandefinition,第一个会产生第二个,并且都是特殊的实现,能够避开前面的循环读取,所以,spring在最后用了一个while循环,一个flag就将,beandefinition新增beandefinition的问题解决了。
初始设为true,先让其读取beandefinition集合,进来后立即设为false,再具体执行逻辑处,再设为true,让下一次也进入循环,再使用一个已经处理的beandefinition集合来过滤已经处理的beandefinition,这样就可以解决循环新增的问题,这种思想可以值得借鉴,很精巧,代码量也很少,一定要坚持读源码!