Spring Bean的生命周期

Spring Bean的生命周期

  1. 实例化Bean对象。

    通过反射的方式进行对象的创建,此时的创建只是在堆空间中申请空间,属性都是默认值。

  2. 设置对象属性。

    比如调用set方法。

  3. 检查Aware相关接口并设置相关依赖。

    如果对象中需要引用容器内部的对象,那么需要调用aware接口的子类方法来进行统一的设置。

  4. BeanPostProcessor的前置处理。

    对生成的Bean对象进行前置的处理工作。

  5. 检查是否是InitializingBean的子类来决定是否调用afterPropertiesSet方法。

    判断当前bean对象是否设置了InitializingBean接口,然后进行属性的设置等基本工作。

  6. 检查是否配置有自定义的init-method方法。

    如果当前bean对象定义了初始化方法,那么在此处调用初始化方法。

  7. BeanPostProcessor后置处理

    对生成的bean对象进行后置的处理工作。AOP使用场景。

  8. 注册必要的Destruction相关回调接口。

    为了方便对象的销毁,在此处调用注销的回调接口,方便对象进行销毁操作。

  9. 对象可以进行调用。context.getBean();

  10. 判断是否实现DisposableBean接口,当bean不再需要时,会经过清理阶段,会调用其实现destory()方法。

  11. 检查是否配置有自定义的destory方法。


版权声明:本文为gao1213977085原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。