①spring启动的时候会找到管理的bean,把管理的bean(前提是scope=singleton)实例化到内存
②设置bean的属性
③如果你实现了bean名字关注接口(BeanNameAware) 则,可以通过setBeanName获取id号
④如果你实现了 bean工厂关注接口,(BeanFactoryAware),则可以获取BeanFactory
⑤如果你实现了 ApplicationContextAware接口,则调用方法setApplicationContext(ApplicationContext ac)
⑥如果bean 和 一个处理器(BeanPostProcessor)关联,则会自动去调用postProcessBeforeInitialization方法
⑦如果你实现InitializingBean 接口,则会调用 afterPropertiesSet
⑧如果自己在<bean init-method=”init” /> 则可以在bean定义自己的初始化方法.
⑨如果bean和一个处理器关联(BeanPostProcessor),则会自动去调用 postProcessAfterInitialization方法
⑩使用我们的bean
⑪容器关闭
⑫可以通过实现DisposableBean 接口来调用方法 destory
⑬可以在<bean destory-method=”destroy”/> 调用定制的销毁方法
我们实际开发中往往,没有用的这么多的过程,常见的是:
1->2->6->9->10->11