①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