1 准备Spring的上下文环境,也就是ApplicationContext
2 扫描XML文件,或者是注解,得到一系列的BeanDefinitaion
3 BeanFactoryPostProcessor,Bean工厂的后置处理器, 要对BeanDefinition做一些处理,替换一些属性的值,比如MyBatis的Bean,就会做这个处理。
4 开始实例化Bean,即new出来Java对象,当然,他不是真的new,而是通过反射实例化Bean
5 开始初始化Bean,对Bean的属性赋值,即根据Bean的依赖关键,进行Bean的依赖注入
6 对Bean的后置处理,调用BeanPostProcessor,进行AOP相关的操作,这时候就会对Bean进行切面增强。
7 将Bean放入Bean容器,即一个HashMap中,这时候开发者就可以使用这个Bean了。
8 Bean的销毁,当Spring的AppliationContext要关闭的时候,会调用DiposibleBean的destory方法,或者Bean的destory方法,进行Bean销毁。
用户评论