spring启动全过程写在前面开始源码分析
写在前面spring容器启动全过程,将组合、继承、反射、代理用到了极致。抽象工厂模式,简单工厂模式,策略模式,单例模式等都有涉及。功能拆分,代码解耦,每一个功能都会有单独的方法来完成,代码流程条理清晰,逻辑鲜明。这是一个漫长的过程,中间涉及到各种工作,很复杂,源码看起来很累。我的源码入手顺序:最初是为了弄清楚三级缓存的左右和循环依赖,所以看了关于DefaultSingletonBeanRegistry.getSingleton()的源码。然后是为了弄清楚spring关于观察者模式的源码,也就是关