完整的Bean的声明周期

完整的Bean的声明周期

Bean的完整生命周期从Spring容器着手实例化Bean开始,知道最终销毁Bean,其中经历了许多关键点,每个关键点都涉及特定的方法调用,可以将这些方法大致分为4类:

  • Bean自身的方法:

    如:

    • 调用Bean构造参数实例化Bean、
    • 调用Setter设置Bean的属性值
    • 通过 的init-method和destory-method属性所指定的方法
  • Bean级生命周期接口方法:

    如:

    • BeanNameAware 接口中的方法
    • BeanFactoryAware 接口中的方法
    • InitializingBean 接口中的方法
    • DisposableBean 接口中的方法

    这些接口方法由Bean类直接实现。

  • 容器级生命周期接口方法:

    如:

    • InstantiationAwareBeanPostProcessor 接口中的方法
    • BeanPostProcessor 接口中的方法

    这两个接口都在org.springframework.beans.factory.config下,一般称它们的实现类为“后处理器”(PostProcessor),它们独立于Bean,其实现类以容器附加装置的形式注册到Spring容器中,并通过接口反射为Spring容器扫描识别。当Spring容器创建任何Bean的时候,这些后处理器都会发生作用。用户也通过合理地编写后处理器,让其只对感兴趣的Bean惊醒加工处理。

  • 工厂后处理器接口方法:

    如:

    • AspectJWeavingEnabler 方法
    • CustomAutowireConfigurer 方法
    • ConfigurationClassPostProcessor 方法

    工厂后处理器也是容器级的,在应用上下文装配配置文件之后立即调用。

猜你喜欢

转载自www.cnblogs.com/woshi123/p/12632504.html