内容来自《Java Web 程序员面试笔试宝典》

内容来自《Java Web 程序员面试笔试宝典》

【出现频率】★★★☆☆ 【学习难度】★★★☆☆

答案:InitialingBean接口只有一个方法afterPropertiesSet( ),该方法在Bean属性都设置完毕后被调用。如果一个Bean希望在被Spring容器初始化完成时做一些执行自定义初始化工作,那么可以实现InitialingBean接口,并在afterPropertiesSet( )方法中执行初始化工作。

DisposableBean接口也只有一个方法destory( ),该方法在Bean生命周期结束前调用。如果一个Bean想在被Spring容器销毁前做一些必要的(如数据清理或某些组件连接的关闭等)工作,可以实现DisposableBean接口,并在destory( )方法中实现功能。

一个Bean可以同时实现这两个接口,它们可以和init-method、destory-method配合使用,但记住接口执行顺序优先于配置。即Spring会先执行afterPropertiesSet( )方法再执行init-method,先执行destory( )方法再执行destory-method。