Mini-Spring之InitializingBean初始化Bean

引言

我们上一篇文章中,已经完成了Aware类型的回调机制如何实现的。这次,我们将了解类初始化机制(InitializingBean)如何实现。

本文所有的代码都在这个项目工程里,大家需要的时候可以随时取用。传送门

这个机制是为了在新建bean之前能进行一些简单的初始化的工作,实现机制和我们上一篇讲的Aware类接口不能说像,简直就是一毛一样,具体代码如下:

package com.zhu.spring;

//新建一个接口
public interface InitializingBean {
    void afterPropertiesSet() throws Exception;
}

//check bean name aware
if (instance instanceof BeanNameAware) {
  //force cast to BeanNameAare and call its method
  ((BeanNameAware)instance).setBeanName(beanName);
}

//check initalizing bean
//接口的具体实现,和上面一致
if (instance instanceof InitializingBean) {
  //force cast to BeanNameAare and call its method
  ((InitializingBean)instance).afterPropertiesSet();
}