1.spring 的生命周期粗粒度的可以分为5个阶段
第一阶段:实例化 实例化是指Bean 从Class到Object + 属性赋值
第二阶段:初始化前 org.springFrameWork.beans.factory.config.BeanPostProcessor#postProcessBeforeInitialization
第三阶段: 初始化 org.springFrameWork.bean.InitializingBean#afterPropertiesSet
第四阶段初始化后 org.springFrameWork.beans.factory.config.BeanPostProcessor#postProcessAfterInitialization
第五阶段:销毁 org.springFrameWork.bean.factory.DisposableBean#destory
2.方便记忆,我把网上的描述如下划分成以下几点:
第一部分:创建
Bean容器找到配置文件中 Spring Bean 的定义。
Bean容器利用Java Reflection API创建一个Bean的实例。
第二部分:设置属性值
如果涉及到一些属性值 利用set方法设置一些属性值。
如果Bean实现了BeanNameAware接口,调用setBeanName()方法,传入Bean的名字。
如果Bean实现了BeanClassLoaderAware接口,调用setBeanClassLoader()方法,传入ClassLoader对象的实例。
如果Bean实现了BeanFactoryAware接口,调用setBeanFactory()方法,