

说到Spring Bean的生命周期,其实就是探究Spring Bean实例化经历哪些步骤了
本篇博文先给个整体的解读,下文将从源码上来探究Spring Bean的生命周期过程。
先跑通一个小demo




前面几篇博文,我们细说了 invokeBeanFactoryPostProcessors(beanFactory);

主要是完成扫描,但bean并没实例化,什么时候实例化的呢?
继续跟跟看

看到了执行完finishBeanFactoryInitialization以后对象的构造方法被打印了,这里只能说明这个对象被实例化了,但是不是bean 对象也完成了实例化,这个就不好说了,但大概率是的,所以还需要进入到方法中继续跟进。
有一点需要明确:
Java对象不一定是bean, bean一定是一个java对象。 bean 受到spring的管理,有 自己的生命周期。
怎么能验证bean有么有被实例化呢?
从ac.getBean(Bean1.class) 跟进去 , 知道找到
Object singletonObject = this.singletonObjects.get(beanName);private final Map<String, Object> singletonObjects = new ConcurrentHashMap<>(256);那就找 ,singletonObjects .重新debug


接下来 从源码上分析这些流程