调用 Bean 的构造方法创建 Bean;通过反射调用 setter 方法进行属性的依赖注入;如果实现 BeanNameAware 接口的话,会设置 Bean 的 name;如果实现了 BeanFactoryAware,会把 BeanFactory 设置给 Bean;如果实现了 ApplicationContextAware,会给 Bean 设置 ApplictionContext;如果实现了 BeanPostProcessor 接口,则执行前置处理方法;实现了 InitializingBean 接口的话,执行 afterPropertiesSet 方法;执行自定义的 init 方法;执行 BeanPostProcessor 接口的后置处理方法。以上就完成了 Bean 的创建过程。而在使用完 Bean 需要销毁时,会先执行 DisposableBean 接口的 destroy 方法,然后在执行自定义的 destroy 方法。