首先需要明确InitializingBean和DisposableBean时对于单个bean来讲的(对应于实现该接口的bean),并不是全局的概念。
若Abean实现了InitializingBean接口中的afterPropertiesSet方法,那么当A bean开始初始化的时候会先执行afterPropertiesSet方法。同样B bean实现了DisposableBean接口中的destroy方法,当B bean销毁时的时候会先执行destroy方法。
<bean id="exampleInitBean" class="examples.ExampleBean" init-method="init"/>
public class ExampleBean {
public void init() {
// do some initialization work
}
}
等同于
@Component
public class AnotherExampleBean implements InitializingBean {
public void afterPropertiesSet() {
// do some initialization work
}
}
DisposableBean等同于
destroy-method