Bean对象的生命周期
首相我们在xml或者注解中读取,然后有一个BeanDefinitionBean然后通过反射创建对象 使用对象 最终销毁对象。创建对象用BeanFactory创建的。然后为了一些扩展spring又一个PostProcesser 又叫后置增强器 里面又有BeanFacotryPostProcesser 和 BeanProcesser 分别对应扩展的对象不同。然后创建对象前就要用BeanFacotryPostProcesser 。
创建对象其实还有两个步骤一般分别为实例化和初始化。实例化就是分配内存(createBeanInstanece)。然后就是初始化,初始化又有初始化自定义属性赋值,和容器属性赋值。 自定义属性赋值用populateBean方法。容器属性赋值用invokeAwareMathod方法。这样其实方法就可以直接使用了,但是spring为了扩展提供了 BeanFactoryPostProcesser方法。就是AOP啥的。然后使用对象context::getBean ,最终销毁对象