配置Bean的初始化和銷毀的方法:
配置初始化和銷毀的方法:
- init-method=”setup”
- destroy-method=”teardown”
執(zhí)行銷毀的時(shí)候,必須手動(dòng)關(guān)閉工廠,而且只對(duì)scope=”singleton”有效.
Bean的生命周期的11個(gè)步驟:
1.instantiate bean對(duì)象實(shí)例化
2.populate properties 封裝屬性
3.如果Bean實(shí)現(xiàn)BeanNameAware 執(zhí)行 setBeanName
4.如果Bean實(shí)現(xiàn)BeanFactoryAware 或者 ApplicationContextAware 設(shè)置工廠 setBeanFactory 或者上下文對(duì)象 setApplicationContext
5.如果存在類實(shí)現(xiàn) BeanPostProcessor(后處理Bean) 蕴纳,執(zhí)行postProcessBeforeInitialization
6.如果Bean實(shí)現(xiàn)InitializingBean 執(zhí)行 afterPropertiesSet
7.調(diào)用<bean init-method="init"> 指定初始化方法 init
8.如果存在類實(shí)現(xiàn) BeanPostProcessor(處理Bean) 甲抖,執(zhí)行postProcessAfterInitialization
9.執(zhí)行業(yè)務(wù)處理
10.如果Bean實(shí)現(xiàn) DisposableBean 執(zhí)行 destroy
11.調(diào)用<bean destroy-method="customerDestroy"> 指定銷毀方法 customerDestroy