zoukankan      html  css  js  c++  java
  • 【spring】【转】spring生命周期

    http://mislay.iteye.com/blog/364698

    Spring的生命周期.

    1. 容器启动,实例化所有实现了BeanFactoyPostProcessor接口的类。他会在任何普通Bean实例化之前加载.
    2. 实例化剩下的Bean,对这些Bean进行依赖注入。
    3. 如果Bean有实现BeanNameAware的接口那么对这些Bean进行调用
    4. 如果Bean有实现BeanFactoryAware接口的那么对这些Bean进行调用
    5. 如果Bean有实现ApplicationContextAware接口的那么对这些Bean进行调用
    6. 如果配置有实现BeanPostProcessor的Bean,那么调用它的postProcessBeforeInitialization方法
    7. 如果Bean有实现InitializingBean接口那么对这些Bean进行调用
    8. 如果Bean配置有init属性,那么调用它属性中设置的方法
    9. 如果配置有实现BeanPostProcessor的Bean,那么调用它的postProcessAfterInitialization方法
    10. Bean正常是使用
    11. 调用DisposableBean接口的destory方法
    12. 调用Bean定义的destory方法

    如果从大体上区分值分只为四个阶段

    1. BeanFactoyPostProcessor实例化
    2. Bean实例化,然后通过某些BeanFactoyPostProcessor来进行依赖注入
    3. BeanPostProcessor的调用.Spring内置的BeanPostProcessor负责调用Bean实现的接口: BeanNameAware, BeanFactoryAware, ApplicationContextAware等等,等这些内置的BeanPostProcessor调用完后才会调用自己配置的BeanPostProcessor
    4. Bean销毁阶段

    代码验证看原文

  • 相关阅读:
    Dagger2 (二) 进阶篇
    Dagger2 (一) 入坑篇
    RoboGuice 3.0 (三)总结篇
    RoboGuice 3.0 (二)进阶篇
    RoboGuice 3.0 (一)入坑篇
    spring源码
    Java transient关键字使用
    Spring源码学习
    jvm系列(一):java类的加载机制
    Java中newInstance()和new()
  • 原文地址:https://www.cnblogs.com/549294286/p/2992998.html
Copyright © 2011-2022 走看看