由第一张图可以知道,在main方法里首先创建了一个工厂,接着把这个工厂对象作为参数传给了一个方法,我的理解这个方法就像一个图书管理员,只要你给我图书馆(工厂),他就能给你整理的井井有条。
每一个接受管理的对象,在这个图书馆的内部都有一个它内部的实例(RootBeanDefinition与之对应)为图书管理员管理,他给每本书又上了一个编号之类的东西,接着图书管理员就需要把这些图书放在书架上去,就像做研究似的,需要不同且大量的文献,管理员又把需要用到的文献添加进一个容器,再把这个容器给做研究的那个人即可。最后把图书馆整理好后,再还给你这时候就产生了main 方法里的第二句,这时候有个人需要做某方面的研究,他告诉你他研究的方面,你就需要把他相关的依赖的文献一并给他。
从图一可以看到,Factory就像一个图书馆,而Registry就像是书架,这个例子当中图书馆拥有了暑假,但并非所有图书馆都是有书架的,书架与图书馆没有必然的联系。如果一个单纯的registry是无法转为factory的,因为两者本质上没有任何联系,除非有一个实现类把两个接口都实现了。