1.IOC容器从xml文件、java配置或注解配置中读取BeanDefinition

2.BeanDefinition分为普通BeanDefinition和特殊BeanDefinition(实现spring指定的某些接口),IOC容器会先实例化特殊BeanDefinition,这些特殊对象调用特定接口(例如BeanFactoryPostProcessor接口、BeanPostProcessor等),其中BeanFactoryPostProcessor可以动态的修改BeanFactory中的普通BeanDefinition

3.根据普通BeanDefinition实例化bean,即Instantiation

4.对bean进行属性赋值,即Populate

5.bean进行初始化,即Initialization

6.bean销毁,即Destruction

第3-5步的流程图
image.png

InstantiationAwareBeanPostProcessor是一种特殊的BeanPostProcessor,spring aop替换对象的时候是在 postProcessAfterInitialization处理


Smile3k
197 声望22 粉丝

« 上一篇
spring-aop原理
下一篇 »
ftp协议原理