1、创建(调用构造函数)
2、set属性(set方法注入属性)
3、判断是否实现BeanNameAware接口,并调用接口的setBeanName方法
4、判断是否实现BeanFactoryAware接口,并调用接口的setBeanFactory方法
5、判断是否实现ApplicationContextAware接口,并调用接口的setApplicationContext方法
6、判断是否实现BeanPostProcessor接口,并调用接口的postProcessBeforeInitialization方法
7、判断是否实现InitializingBean接口,并调用接口的afterPropertiesSet方法
8、判断是否自定义init方法,并调用
9、判断是否实现BeanPostProcessor接口(同6),并调用接口的postProcessAfterInitialization方法
10、业务代码中Bean对象的使用
11、当容器销毁时,判断是否实现DisposableBean接口,并调用接口的destroy方法
12、判断是否自定义销毁方法,并调用
如上为 Spring Bean 的生命周期过程,每一个接口的详细含义可以自行深入了解。
(END)