阅读量:0
Spring中一个Bean的创建大概分为以下几个步骤:
1.推断构造方法
2.实例化:
Spring容器根据Bean的定义创建Bean的实例。
3.填充属性,也就是依赖注入:
Spring将Bean定义中指定的属性值和依赖注入到Bean实例中
4.处理Aware回调:
Spring调用实现了Aware接口的Bean的相关方法,例如
setBeanName
、setBeanFactory
、setApplicationContext
等
5.初始化前,处理@PostConstruct注解:
Spring应用所有BeanPostProcessor的
postProcessBeforeInitialization
方法
6.初始化,处理InitializingBean接口:
如果Bean实现了
InitializingBean
接口,Spring将调用afterPropertiesSet()
方法。此外,Spring还会调用Bean定义中指定的init-method
方法(如果有的话)
7.初始化后,进行AOP:
Spring应用所有BeanPostProcessor的
postProcessAfterInitialization
方法
8.销毁:
当容器关闭时,如果Bean实现了
DisposableBean
接口,Spring将调用destroy()
方法。此外,Spring还会调用Bean定义中指定的destroy-method
方法(如果有的话)